Rechercher : dans
Par :

[T-SQL] Procédure stockée

Dernière réponse le 21 mar 2008 à 17:25:08 elsadelatoundra, le 21 mar 2008 à 09:59:46 
 Signaler ce message aux modérateurs

Bonjour ou plutôt Rebonjour pour ceux qui ont lu mon autre post,

Encore un petit soucis que je n'arrive pas à résoudre ...

Quand j'exécute un update tout simple sur ma table ça marche (en moins de 2 secondes) et quand je colle ces mêmes lignes de code dans ma procédure stockée entre un BEGIN TRANSACTION et un COMMIT TRANSACTION, ça se lance mais ne s'arrête jamais et boucle à l'infini (j'ai laissé tourner plus de 5 minutes) !!

Voici mon UPDATE qui marche :

UPDATE dbo.table1  
     SET monAttribut = '0'
     WHERE EXISTS (SELECT * FROM dbo.table2 t2 WHERE idTable1 = t2.id)

Et voici ma transaction qui tourne à l'infini :
BEGIN TRANSACTION UpdateMonAttributTable1 ;
   UPDATE dbo.table1  
        SET monAttribut = '0'
        WHERE EXISTS (SELECT * FROM dbo.table2 t2 WHERE idTable1 = t2.id)	
	   
COMMIT TRANSACTION UpdateMonAttributTable1 ;


Je suis désespérée !! J'espère que quelqu'un parmi vous saura voir ce qui ne va pas ... Merci d'avance pour votre précieuse aide ;-)


ellessa mange des cerises

1

 zorex, le 21 mar 2008 à 17:25:08

Essayons de savoir qu'est ce que se passe :

Begin Tran
Update...

if error <> 0
begin
Rollback Tran
select @error
end
else
commit tran


Cdt,
Zorex

Répondre à zorex
Collection CommentÇaMarche.net