Ich versuche, alle Zeilen in meinem Fall Tabelle zu aktualisieren:Aktualisieren Sie alle vorhandenen Zeile
UPDATE CASE c
SET c.number =
(
select p.number
from CASE c, Papers p, Dokument d
where c.dokument = d.id
and p.id = d.paperid
and p.numer is not null
and c.case = null;
)
where
(this same as in set : when case.number is null but papers.numer is not null)
Ich kann das nicht tun, weil ich weiß nicht, wie, wo Klauseln zu schreiben. Es muss alle Zeilen aktualisieren, in denen case.numer
null ist und papers.number
nicht null ist.
Wie kann ich das schreiben? Könnte ich eine Schleife schreiben? Ich habe PL/SQL noch nie benutzt, also weiß ich auch nicht, wie ich das machen soll.
Ich habe auch so zu aktualisieren versucht, aber einen Fehler bekam:
UPDATE s
SET s.number = w.number
FROM CASE s
JOIN Dokument d on d.CASEID =s.ID
JOIN Paper w on w.DOKUMENTID =d.ID and w.number is NOT NULL
WHERE s.number IS NULL
AND s.secondNumber IS NULL
AND s.FIRSTNAME = w.FIRSTNAME
AND s.SURNAME = w.SURNAME;
SQL Error: ORA-00933: polecenie SQL niepoprawnie zakończone
00933. 00000 - "SQL command not properly ended"
tsql oder Oracle? Ich kann dich nicht sehen, wenn du sie zusammen benutzt. – jarlh
Basierend auf dem Kommentar im letzten Satz, entfernte ich das Oracle-Tag. –
Bitte geben Sie an, welches DBMS Sie verwenden. Sie haben jetzt das PL/SQL-Tag hinzugefügt, das für Oracle und nicht für SQL Server geeignet wäre. Diese Dinge sind wichtig. –