Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich bei meiner Oracle 11g INSERT SELECT-Anweisung einen ORA-00936-Fehler?

Warum erhalte ich bei meiner Oracle 11g INSERT SELECT-Anweisung einen ORA-00936-Fehler?

Susan Sarandon
Susan SarandonOriginal
2024-12-29 17:50:11633Durchsuche

Why Am I Getting an ORA-00936 Error with My Oracle 11g INSERT SELECT Statement?

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!

Stellungnahme:
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