Heim >Datenbank >MySQL-Tutorial >Wie verwende ich INSERT SELECT in Oracle 11g richtig, um ORA-00936 zu vermeiden?

Wie verwende ich INSERT SELECT in Oracle 11g richtig, um ORA-00936 zu vermeiden?

DDD
DDDOriginal
2024-12-23 20:12:10990Durchsuche

How to Correctly Use INSERT SELECT in Oracle 11g to Avoid ORA-00936?

Einfügen von Daten über eine SELECT-Abfrage in Oracle 11G

In Oracle 11G ermöglicht die INSERT SELECT-Anweisung eine effiziente Datenübertragung von einer Tabelle in eine andere mithilfe einer Unterabfrage. Allerdings können bei Benutzern unerwartete Fehler auftreten, wenn ihre Syntax nicht korrekt ist.

Benutzerabfrage:

Ein Benutzer hat versucht, die Ergebnisse einer Unterabfrage mit in eine neue Tabelle einzufügen die folgende Aussage:

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

Der Benutzer ist jedoch auf Folgendes gestoßen Fehler:

SQL Error: ORA-00936: missing expression

Lösung:

Die bereitgestellte Syntax ist falsch. Die INSERT SELECT-Anweisung in Oracle erfordert nicht das Schlüsselwort VALUES, das häufig in anderen SQL-Dialekten verwendet wird. Die korrekte Syntax sollte wie folgt lauten:

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

Mit anderen Worten: Entfernen Sie einfach das Schlüsselwort VALUES vom Anfang der Anweisung. Dadurch kann Oracle die INSERT SELECT-Abfrage korrekt ausführen und die Ergebnisse der Unterabfrage in Tabelle1 einfügen.

Das obige ist der detaillierte Inhalt vonWie verwende ich INSERT SELECT in Oracle 11g richtig, um ORA-00936 zu vermeiden?. 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