Heim > Datenbank > MySQL-Tutorial > Wie kann „ORA-00936: fehlender Ausdruck' in Oracle 11g INSERT SELECT-Anweisungen behoben werden?

Wie kann „ORA-00936: fehlender Ausdruck' in Oracle 11g INSERT SELECT-Anweisungen behoben werden?

DDD
Freigeben: 2024-12-29 19:24:16
Original
381 Leute haben es durchsucht

How to Resolve

Fehlerbehebung für einen „ORA-00936“-Fehler mit einer INSERT SELECT-Anweisung in Oracle 11G

Ein „ORA-00936: fehlender Ausdruck“-Fehler kann beim Ausführen einer INSERT SELECT-Anweisung in Oracle 11G auftreten. Lassen Sie uns einen konkreten Fall analysieren, um dieses Problem zu lösen.

Problem:

Eine SQL-Anweisung versucht, Daten aus einer Unterabfrage in eine Tabelle einzufügen:

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

Wenn die Unterabfrage separat ausgeführt wird, funktioniert sie ordnungsgemäß und ruft Zeilen aus zwei Tabellen ab, oldtable1 und oldtable2. Bei der Ausführung als Datenquelle für die INSERT-Anweisung tritt jedoch der Fehler „ORA-00936: fehlender Ausdruck“ auf.

Lösung:

Der Fehler stammt von eine falsche Syntax in der INSERT-Anweisung. Das Schlüsselwort VALUES ist nicht erforderlich, wenn eine SELECT-Anweisung zum Auffüllen der Zieltabelle verwendet wird. Die korrekte Syntax sollte wie folgt lauten:

insert into table1 (col1, col2)
select t1.col1, t2.col2 
from oldtable1 t1, oldtable2 t2
Nach dem Login kopieren

Durch Weglassen des VALUES-Teils führt die INSERT-Anweisung die Unterabfrage korrekt aus und füllt Tabelle1 mit den ausgewählten Daten.

Das obige ist der detaillierte Inhalt vonWie kann „ORA-00936: fehlender Ausdruck' in Oracle 11g INSERT SELECT-Anweisungen behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage