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