Heim > Datenbank > MySQL-Tutorial > Wie behebt man den ORA-00933-Fehler beim Aktualisieren von Oracle-Tabellen mithilfe von Joins?

Wie behebt man den ORA-00933-Fehler beim Aktualisieren von Oracle-Tabellen mithilfe von Joins?

DDD
Freigeben: 2024-12-30 06:17:30
Original
620 Leute haben es durchsucht

How to Fix ORA-00933 Error When Updating Oracle Tables Using Joins?

Oracle Update-Abfrage mithilfe von Join: Beheben des ORA-00933-Fehlers

Bei einem Versuch, die Spalte „total_adjusted_cost“ in Tabelle 1 mithilfe eines Joins zu aktualisieren Bei Tabelle t1 ist ein ORA-00933-Fehler aufgetreten. Dieser Fehler weist darauf hin, dass der SQL-Befehl nicht ordnungsgemäß beendet wurde.

Um dieses Problem zu beheben, sollten Sie stattdessen die MERGE-Anweisung verwenden. Die MERGE-Anweisung kombiniert die Funktionalität der INSERT-, UPDATE- und DELETE-Anweisungen in einer einzigen Operation. So können Sie die Tabelle mit der MERGE-Anweisung aktualisieren:

MERGE INTO table1 tab1
USING
(
SELECT tab3.name, tab3.add, SUM(tab2.amount) AS total
FROM table2 tab2,
table3 tab3 ,
table4 tab4
WHERE tab2.id        = tab3.id
AND tab3.id            = tab4.id
AND tab4.indicator             ='Y'
GROUP BY tab3.name,
tab3.add
)t1
ON (tab1.id      = t1.id)
WHEN MATCHED THEN
UPDATE SET tab1.total_adjusted_cost = tab1.total_adjusted_cost + t1.total
Nach dem Login kopieren

In dieser MERGE-Anweisung:

  • Die USING-Klausel gibt die Tabelle t1 an, die die Quelldaten für die Aktualisierung bereitstellt .
  • Die ON-Klausel gibt die Join-Bedingung zwischen Tabelle1 und t1 an.
  • Die WHEN MATCHED Die Klausel gibt den Aktualisierungsvorgang an, der für die übereinstimmenden Zeilen ausgeführt werden soll.

Die Verwendung der MERGE-Anweisung stellt sicher, dass die Aktualisierung ordnungsgemäß durchgeführt wird und vermeidet den ORA-00933-Fehler.

Das obige ist der detaillierte Inhalt vonWie behebt man den ORA-00933-Fehler beim Aktualisieren von Oracle-Tabellen mithilfe von Joins?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage