Salut j´ai une petit souci la,
j´ai creer un trigger et je veux bien que lorsqu´il ya une erreur, qu´il renvoie le rollback et s´arrete la.
le probleme c´est que la transaction jusqu´a la fin sans erreur de trigger
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
 
create Trigger test
on tabtest
After Insert
As 
Begin
declare @gardien  Varchar
Select  @gardien =  i.valeur
          From inserted i
If @gardien Is NULL
  Begin
    RaisError('erreur  1 ', 16, 1)
    ROLLBACK TRANSACTION
  End
If @gardien <> 'I'
  Begin
    RaisError('erreur 2, 16', 1)
    ROLLBACK TRANSACTION
  End
si je fait
insert into tabtest(valeur)
values(NULL)
Alors j´ai les 2 erreurs affichés mais pas de rollback provenant du trigger, plutot ceci.
aucun transaction trouvée donc pas de rollback.

J´aimerais l´arreter lors de la premiere exception,
j´ai essayer de mettre SET XACT_ABORT ON au debut, mais rien n´a changé

merci de votre aide