[SQL Server 2005]Pb d'update de 2 tables

cnguyen Messages postés 81 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 12 juillet 2006 - 18 mai 2006 à 12:28
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006 - 19 mai 2006 à 11:57
Bonjour,

J'ai voulu faire :

UPDATE proact, craSET cra.projet @projet , proact.projet @projetWHERE proact.projet (select projet from proact p join cra c on p.projet c.projet)

Mais on m'a dis dans que :
"si c'est pour faire un UPDATE sur plusieurs tables en même temps, ce n'est pas prévu dans la norme SQL "

Mon but est que, a travers une interface, l'utilisateur modifie le nom d'un projet de la table PROACT(possede un champs Projet) et que lorsqu'il modifie ce nom, sa le modifie aussi pour les noms identiques situés dans la table CRA(possede le champs Projet aussi)...

Quelqu'un à une idée??

Merci

6 réponses

crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
18 mai 2006 à 18:52
crilun


pourquoi tu n'essayes pas de la faire en 2 update differents avec une transaction?

ca te permettrait de le faire de la meme maniere et si une de tes 2 requetes échoue.
0
cnguyen Messages postés 81 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 12 juillet 2006
18 mai 2006 à 19:50
Oui mais je vois pas comment on fais sa :s, sa pourrait etre mieux d'utiliser une transaction???sa fais quoi exactement?? et comment je peux le faire???sa peux se faire dans un sqldatasource??

Merci
0
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
18 mai 2006 à 23:22
crilun


une transaction ca te permet d'effectuer plusieurs requetes les une apres les autres,

masi avec l'avantage que si l'une de tes requetes plantes toute celle d'avant ne sont pas prise en compte,

par exemple si je fais :


update1

update2


si update2 plante alors update1 ne sera pas effectué,


BEGIN TRAN nomQueJeChoisiPourMaTransaction

    UPDATE1

    UPDATE2

COMMIT TRAN nomQueJeChoisiPourMaTransaction


apres à toi de gerer avec COMMIT et ROLLBACK selon ce que tu veut faire,

regarde dans l'aide de SQL server a BEGIN TRANSACTION et COMMIT TRANSACTION c 'est bien documenté
0
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
18 mai 2006 à 23:28
crilun


ah, et pour sqldatasource? qu'est ce que tu veut dire par la?

car datasource en general ca recupere le resultat d'un select pour
remplir un control, alors sur un update je comprends pas trop la
question.

sinon si ce que tu voulais savoir est est ce que je peut le lancer dans
mon code comme un UDPATE normal ? alors la reponse est oui.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cnguyen Messages postés 81 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 12 juillet 2006
19 mai 2006 à 00:48
Bah dans le SqlDataSource tu as une propriété permettant de faire un UPDATE, le probleme c'est que lors de cette UPDATE moi je veux update 2 table c'est pour sa que je voulais passer par un procedure stockée ou par , ton idéee, le transact!
Sinon tu saurais comment faire si je  veux le faire en procedure stockée??

Merci
0
crilun Messages postés 114 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 17 octobre 2006
19 mai 2006 à 11:57
crilun

je viens de regarder apparement sqldatasource est une propriété du
framework 2 hors je n'ai pas encore la chance de travailler sur le
framework 2, je ne pense donc pas pouvoir t'en dire plus pour
l'instant. désolé
0
Rejoignez-nous