Bonjour,
Je rencontre un problème dans une PS, que je n'arrive à reproduire en test.
Dans cette PS je déclare un cursor selon
Le but étant de parcourir une table et selon le contenu de "champ" je fais deux updates dans d'autres tables en démarrant une transaction qui est commité juste après les updates.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 DECLARE CurEre CURSOR FOR SELECT.... If champ = xx begin BEGINTRANSACTION update .... update .... COMMIT TRANSACTION end FETCH NEXT FROM CurEre .... CLOSE CurEre
Dans certain cas, que je n'ai pu isoler, j'ai un message me signifiant que:
La transaction (id N°xx) a été bloquée sur les ressources verrou par un autre processus et a été chosie comme victime.
Je comprends bien le sens de ce message, mais je voudrais savoir si c'est juste pendant le BeginTrans...Commit que ce message est généré ou bien le fait d'être sous une déclaration CURSOR ?
Ou autrement, le fait de déclarer un CURSOR pose t il des verrous sur la table concernée ?
Merci pour votre aide,
Partager