salut :=)
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
23
24
25
26
27
28
29
30
BEGIN TRANSACTION AjouEleve --On démarre une transaction et on lui donne un nom
 
DECLARE @error INT --On déclare une variable qui sera destiné à accueillir nos erreurs
DECLARE @ID_INSERTION NUMERIC(19,0) -- On déclare une variable numérique destinée à contenir l'id inséré
 
SET @error = 0 --initialisation de la variable erreur :=)
 
UPDATE eleve SET nom='make' WHERE IDauditeur=1
SET @error = @error + @@error
 
UPDATE eleve SET nom='jake' WHERE IDauditeur=2
SET @error = @error + @@error   --On additionne l'erreur liée à la dernière requête SQL dans notre variable
 
 
UPDATE eleve SET nom='david' WHERE IDauditeur=3
SET @error = @error + @@error  --On additionne l'erreur liée à la dernière requête SQL dans notre variable
 
INSERT INTO eleve VALUES(4,'danil','loup',30,'morad@gmail.fr')
SET @error = @error + @@ERROR --On additionne l'erreur liée à la dernière requête SQL dans notre variable
 
INSERT INTO eleve VALUES(4,'coulded','cloud',30,'samad@gmail.fr')
SET @ID_INSERTION = @@identity --On récupère la valeur du dernier id inséré et on le stocke dans notre variable
print   'Statut de lerreur : ' + CAST(@ID_INSERTION AS VARCHAR(10))
 
PRINT 'Statut de lerreur : ' + CAST(@error AS VARCHAR(10)) --On affiche le statut de l'erreur casté sous forme de caractère
 
IF @error = 0 --Si errors est égale à 0, donc s'il n'y a eu aucune erreur
	COMMIT TRANSACTION AjouEleve-- On commit la transaction
ELSE --S'il y a eu des erreurs
	ROLLBACK TRANSACTION AjouEleve--On annule tous les changements de cette transaction
Svp je n’arrive pas a exécuter la transaction suivant, qd je provoque une erreur a la fin de transaction (insertion d’une clé déjà existe les requêtes précédente y’a pas un ROLLBACK au niveau de ces requêtes)