Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1952 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  INSERT avec sous requete

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

INSERT avec sous requete

n°1949725
hutarios
Posté le 12-12-2009 à 10:49:57  profilanswer
 

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.  
 
 

mood
Publicité
Posté le 12-12-2009 à 10:49:57  profilanswer
 

n°1950148
boboss75
Posté le 14-12-2009 à 15:22:41  profilanswer
 

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 ....

n°1950305
hutarios
Posté le 14-12-2009 à 22:07:45  profilanswer
 

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....

n°1950401
kao98
...
Posté le 15-12-2009 à 09:55:13  profilanswer
 

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???) :
 
Une insertion pour chaque ID_USER ou le SES_STATUS=1
 
si tu as une idée ou si c'est faisable ou pas....


C'est possible en utilisant la syntaxe que boboss t'as indiqué !
Tu as regardé son message au moins ? :o
 
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.


Message édité par kao98 le 15-12-2009 à 09:58:11

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1950606
hutarios
Posté le 15-12-2009 à 17:52:25  profilanswer
 

J'avais mal compris la réponse de boboss, merci pour ces explications, effectivement syntaxe fonctionne parfaitement.
 
encore merci pour votre aide.  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  INSERT avec sous requete

 

Sujets relatifs
requête mysql : insert into where exists ?[ACCESS] Bouton Requete SQL INSERT INTO
[MySQL] Insert + sous requeteRequête préparée en insert et colonne "not null"
[PHP]Probleme requete insertACCESS requete ajout Insert into - a l'aide !
requete "insert" dans microsoft sql server avec PHP[SGBD/SQL] Requete INSERT avec sous requete SQL et VALUES
simple requete insert... ????Expression reguliere sur une requete Insert
Plus de sujets relatifs à : INSERT avec sous requete


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR