Bonjour,
Je crée des requêtes dynamique de mise à jour de données que j'execute dans un EXECUTE.
En gros voici le principe :
-- Via un curseur
POUR CHAQUE DONNEES
-1- Creation de la requete
-2- EXECUTE(<MA_REQUETE>)
Le tout est entouré d'une transaction et après chaque execute, je teste la valeur @@ERROR et so @@ERROR <> 0 ==> Via un GOTO je vais dans la partie rollback.
Quelqu'un aurait une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 -- [...] -- Execute EXECUTE(@STR_1) -- Erreur ? IF @@ERROR<>0 BEGIN GOTO ROLLBACK_TRANSACTION END -- [...] COMMIT_TRANSACTION: PRINT 'COMMIT DE LA TRANSACTION' COMMIT TRANSACTION GOTO END_TRANSACTION ROLLBACK_TRANSACTION: PRINT 'ANNULATION DE LA TRANSACTION' ROLLBACK TRANSACTION GOTO END_TRANSACTION END_TRANSACTION: CLOSE CUR_REQUETE DEALLOCATE CUR_REQUETE
Partager