Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich bei meiner Oracle 11g INSERT SELECT-Anweisung einen ORA-00936-Fehler?
Fehlerbehebung bei der INSERT SELECT-Anweisung in Oracle 11G
Beim Versuch, eine INSERT SELECT-Anweisung in Oracle 11G auszuführen, kann es zu einem „ORA- 00936: Fehler „fehlender Ausdruck“. Dieser Fehler weist normalerweise auf ein Problem mit der Syntax der Anweisung hin.
Um dieses Problem zu beheben, überprüfen Sie die Anweisung sorgfältig. Ein häufiger Fehler besteht darin, das Schlüsselwort VALUES in die INSERT SELECT-Anweisung aufzunehmen. In Oracle wird das Schlüsselwort VALUES nur beim Einfügen expliziter Werte in eine Tabelle verwendet, nicht beim Auswählen von Werten aus einer anderen Tabelle.
Die korrekte Syntax für eine INSERT SELECT-Anweisung lautet:
INSERT INTO table_name (column_list) SELECT column_list FROM source_table;
Daher sollte die Anweisung wie folgt geändert werden:
INSERT INTO table1 (col1, col2) SELECT t1.col1, t2.col2 FROM oldtable1 t1, oldtable2 t2;
Diese korrigierte Syntax sollte den kartesischen Join zwischen oldtable1 und erfolgreich ausführen oldtable2 und fügen Sie die resultierenden Zeilen in Tabelle1 ein.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei meiner Oracle 11g INSERT SELECT-Anweisung einen ORA-00936-Fehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!