Heim >Datenbank >MySQL-Tutorial >Warum gibt meine Oracle 11g-Anweisung „INSERT SELECT' einen ORA-00936-Fehler zurück?
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!