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
In dieser MERGE-Anweisung:
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!