Bonjour à tous

Quelqu'un peut-il me confirmer la portée d'un DISABLE TRIGGER dans une stored proc comme illustré ci-dessous ?

Est-ce que le DISABLE n'est fait que pour cette seule procédure ou pour la base de données (càd que si j'oublie d'écran un ENABLE TRIGGER avant de sortir); le trigger risque-t-il d'être toujours inactif.

Cette question pour la raison suivante : dans ma stored proc j'ai plusieurs IF statements afin de valider certaines conditions et si elles ne sont pas rencontrées, je fais un RETURN pour quitter la stored proc sans prendre action. Oui mais, avant le return, dois-je prévoir un ENABLE TRIGGER ou pas ? (et donc pour chaque return un enable trigger plus un dernier tout au bas de la stored proc).

Merci pour vos avis.

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
 
ALTER PROCEDURE [dbo].[MaintaineIndexes] 
AS
BEGIN
 
DISABLE TRIGGER dbo.triggerName ON dbo.tableName; 
 
IF (...) 
    BEGIN
         /* ... */
         ENABLE TRIGGER dbo.triggerName ON dbo.tableName;   /* <--- Est-ce nécessaire? */
         RETURN
    END
 
 
...
 
 
ENABLE TRIGGER dbo.triggerName ON dbo.tableName;  /* <--- Est-ce nécessaire? */
END;