INSÉRER une instruction SELECT dans Oracle 11G
Je suis en train de lancer un très simple instruction sql dans Oracle 11g.
insert into table1 (col1, col2) values (select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2);
Très simple requête. Cartésien rejoindre le vieux tableau 1 de la vieille table 2, mettre les valeurs obtenues dans le tableau 1.
J'ai exécuter la sous-requête par lui-même, et il fonctionne parfaitement.
select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2
Lorsque j'essaie d'exécuter le texte complet de la déclaration, j'obtiens l'erreur suivante:
SQL Error: ORA-00936: missing expression
00936. 00000 - "missing expression"
Je ne peux pas le faire fonctionner dans MySql soit. Quelque chose est incorrect avec ma déclaration, mais je ne suis pas sûr de ce qu'il est.
- L'Oracle de la documentation est complète et en ligne. Vous pouvez trouver la syntaxe pour les états d'INSERTION dans le SQL de Référence. Regarde ça: download.oracle.com/docs/cd/B28359_01/server.111/b28286/...
- Voir stackoverflow.com/questions/25969/... pour la base de données agnostique solution.
Vous devez vous connecter pour publier un commentaire.
Votre requête doit être:
I. e. sans le
VALUES
partie.Se débarrasser de la
values
mot-clé et parens. Vous pouvez voir un exemple ici.C'est l'INSERT de base de la syntaxe:
C'est l'INSERT SÉLECTIONNEZ la syntaxe:
Vous n'avez pas besoin de les "valeurs" de la clause lors de l'utilisation d'un 'select') comme source.
pour l'insertion de données dans la table, vous pouvez écrire
mais écrire le
column_name
dans la séquence par séquence dans le tableau ...Il y a une autre option pour insérer des données dans la table ..
il va ouvrir une autre fenêtre pour insérer les données de valeur..