Requette sql insert avec comme paramétre resultat d'une autre requette select

Résolu
Jbensimoh Messages postés 26 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 29 mai 2006 - 24 janv. 2006 à 22:33
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 25 janv. 2006 à 16:07
salut

je souhaite faire un insertion dans une table sql server 2000, selement le parmétre d'insertionil est de type requette select
example : insert into table1(.....) values(select* from table2 where col1=1)
A voir également:

1 réponse

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
25 janv. 2006 à 16:07
salut

il ne faut pas mettre le mot clef VALUE :

INSERT INTO maTable(champs1, champs2) (SELECT champsA, champsB FROM MonAutreTable WHERE ...)

Attention aussi que le nombre de champs retourné par ton select soit egal au nombre de champs que tu indique dans la table ou tu insert.
c'est pourquoi le SELECT * n'est pas une bonne idée, tu devrais plutot nommer tes champs, car si tu modifie une de tes tables, en ajoutant, supprimant ou meme modifiant l'ordre des champs, tu va avoir des mauvaises surprises
3
Rejoignez-nous