Maison >base de données >tutoriel mysql >Pourquoi mon instruction Oracle 11g « INSERT SELECT » renvoie-t-elle une erreur ORA-00936 ?

Pourquoi mon instruction Oracle 11g « INSERT SELECT » renvoie-t-elle une erreur ORA-00936 ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-02 19:03:41583parcourir

Why is my Oracle 11g

Dépannage d'une instruction « INSERT SELECT » dans Oracle 11G

Tentative d'exécution de l'instruction « INSERT SELECT » suivante dans Oracle 11G :

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

Cependant, l'instruction renvoie une erreur ORA-00936 : "manquant expression."

Analyse et résolution

En y regardant de plus près, il devient évident que l'instruction est syntaxiquement incorrecte. Plus précisément, le mot clé « VALUES » n'est pas nécessaire dans une instruction « INSERT SELECT ». La syntaxe correcte est la suivante :

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

Après avoir supprimé le mot-clé "VALUES", l'instruction doit s'exécuter sans erreur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn