Heim >Datenbank >MySQL-Tutorial >Warum gibt meine Oracle 11g-Anweisung „INSERT SELECT' einen ORA-00936-Fehler zurück?

Warum gibt meine Oracle 11g-Anweisung „INSERT SELECT' einen ORA-00936-Fehler zurück?

Susan Sarandon
Susan SarandonOriginal
2025-01-02 19:03:41566Durchsuche

Why is my Oracle 11g

Fehlerbehebung bei einer „INSERT SELECT“-Anweisung in Oracle 11G

Versuch, die folgende „INSERT SELECT“-Anweisung in Oracle 11G auszuführen:

insert into table1 (col1, col2) values (select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2);

Die Anweisung gibt jedoch einen ORA-00936 zurück Fehler: „fehlender Ausdruck.“

Analyse und Lösung

Bei näherer Betrachtung wird deutlich, dass die Aussage syntaktisch falsch ist. Insbesondere ist das Schlüsselwort „VALUES“ in einer „INSERT SELECT“-Anweisung unnötig. Die korrekte Syntax lautet wie folgt:

insert into table1 (col1, col2) 
select t1.col1, t2.col2 
from oldtable1 t1, oldtable2 t2

Nach dem Entfernen des Schlüsselworts „VALUES“ sollte die Anweisung ohne Fehler ausgeführt werden.

Das obige ist der detaillierte Inhalt vonWarum gibt meine Oracle 11g-Anweisung „INSERT SELECT' einen ORA-00936-Fehler zurück?. 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