|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2010 Messages : 28 ![]() |
Bonjour, je débute avec le TSQL et j'ai un problème sur un INSERT.
Je dois insérer dans ma table, le résultat d'un requête + une variable. J'ai un variable @requete qui contient ma requête donc si je fais : Code :
INSERT INTO tb_atp_articles_caracterises (art_cod,art_lib,art_stat_1,ope_lib_1) EXEC(@requete) Seulement je viens de rajouter un champ dans ma table et il n'est pas compris dans ma requête. Il se trouve dans un variable @mcr_categorie. Donc je voudrais insérer le résultat de ma requête dans les 4 premier champs et dans le dernier champ de la table je voudrais ma variable. Je ne sais pas si c'est possible mais ça m'avancerait bien. Merci! |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
en méthode sale, je dirai :
Code sql :
a condition que @mcr_categorie ne contienne pas de simple cote, sinon il faudra ajouter un REPLACE pour les doubler... Je n'ai pas d'idée pour faire quelque chose de propre expliquez nous un peu le contexte, on pourra peut être trouver une meilleure solution... |
||
|
|
10
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2010 Messages : 28 ![]() |
Merci de ta réponse mais la méthode "sale" ne fonctionne pas. dommage...
Le contexte : J'avais un document Excel qui devenait lourd à traiter. J'ai voulu donc "l'importer" dans Access, en légèrement plus élaboré avec des relations dans des tables déjà présente. Seulement mon champ @mcr_categorie n'a aucune relation avec aucunes de mes tables. J'ai un curseur qui parcoure ma table qui contient le champ mcr_curseur et pour chaque enregistrement j'ai une requête dynamique qui se créée. Et je n'arrive pas à inclure mon champ mcr_categorie dans ma requête dynamique. Voilà quelques petites précisions, si c'est toujours insuffisant, vous pouvez encore me demandez d'autres précisions. Bonne journée |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
C'est a dire ? ne fait pas ce que tu veux ou provoque une erreur (et dans ce cas, poste le message d'erreur)
Citation:
Tu es sous Access ? Citation:
pourquoi ne rajoute-tu pas le champs directement dans ta requete, qu'est-ce qui t'en empêche Sinon tu peux aussi prévoir une requete UPDATE après ton INSERT pour mettre a jour le champ avec ta valeur Enfin j'ai l'impression quand meme que tu es parti sur une fausse piste dès le début (en général, un EXEC dans une requete, ca sent le bricolage...).D'ou proviennent tes données ? si tu as tout en base (genre pas de paramètre en entrée de ta procédure stockée), tu dois pouvoir faire tout ca en une seule requete (et te passer des EXEC et des curseurs), mais pour t'aider il faudrait qu'on connaisse la structure des tes tables concernées, et savoir ce que tu veux faire... |
||
|
|
10
|
|
|
#5 | |||||||
|
Nouveau Membre du Club
![]() Inscription : octobre 2010 Messages : 28 ![]() |
Citation:
Code :
Citation:
Citation:
Citation:
Citation:
Merci de ton aide |
|||||||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
sinon, poste nous la structure de tes tables, et aussi le code qui te permet de générer dynamiquement ta requete, on y verra peut être un peu plus clair...
|
|
|
10
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2010 Messages : 28 ![]() |
Ahhh voilà!
J'ai modifié ma requête dynamique et maintenant ça marche. Lors de ma précédentes tentatives de modifications j'avais oublié une condition alors forcément ça allait un peu moins bien. ![]() Merci pour de ton aide! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com