INSERT avec sous requete - SQL/NoSQL - Programmation
Marsh Posté le 14-12-2009 à 15:22:41
la syntaxe n'est pas bonne en effet ... (SET ne sert que pour les updates)
tu peux aussi essayer un truc du genre (en oracle du moins) :
insert table_a_alimenter [(col_a_alim_1, col_a_alim_2, col_a_alim_3)]
select donnee1, donnee2, donnee3
from table_a_lire
where ....
Marsh Posté le 14-12-2009 à 22:07:45
merci pour ta réponse mais mon problème est plutôt au niveau de la sous requête qui renvoi plusieurs lignes, je n'arrive pas à faire en une seule requête plusieurs insertion dans la base (est ce possible???) :
Une insertion pour chaque ID_USER ou le SES_STATUS=1
si tu as une idée ou si c'est faisable ou pas....
Marsh Posté le 15-12-2009 à 09:55:13
hutarios a écrit : merci pour ta réponse mais mon problème est plutôt au niveau de la sous requête qui renvoi plusieurs lignes, je n'arrive pas à faire en une seule requête plusieurs insertion dans la base (est ce possible???) : |
C'est possible en utilisant la syntaxe que boboss t'as indiqué !
Tu as regardé son message au moins ?
Indice : dans le "select" de l'exemple de boboss, tu peux mettre des valeurs "en dur", pas forcément des champs de table ! Par exemple :
INSERT INTO foo(bar, baz)
SELECT 1, field
FROM foo2
insèrera, dans foo.bar : toujours la valeur 1 (pour chaque enregistrement inséré), et dans foo.baz les valeur de foo2.field.
On aura autant de record dans foo que de lignes retournées par le select.
Marsh Posté le 15-12-2009 à 17:52:25
J'avais mal compris la réponse de boboss, merci pour ces explications, effectivement syntaxe fonctionne parfaitement.
encore merci pour votre aide.
Marsh Posté le 12-12-2009 à 10:49:57
je bloque sur une requête INSERT qui comporte une sous requête renvoyant plusieurs lignes
INSERT INTO T_MSG_MESSAGE SET ID_USER_AUT = '-99', MSG_TEXT = 'essai 123', ID_USER_DEST =( SELECT ID_USER FROM `T_SES_SESSION` WHERE SES_STATUS=1 )
j'ai essayé avec ....ID_USER_DEST = ANY ( SELECT ... et d'autres du meme genre, ca ne fonctionne pas, je n'est pas l'habitude des sous requêtes et je pense que la construction n'est pas bonne.