Désactiver Activer le déclencheur SQL server

Je veux créer un proc comme ci-dessous mais il a une erreur sur la syntaxe. Quelqu'un pourrait-il en pointant le problème?

Create PROCEDURE [dbo].[my_proc] AS

BEGIN

DISABLE TRIGGER dbo.tr_name ON dbo.table_name

-- some update statement

ENABLE TRIGGER dbo.tr_name  ON dbo.table_name

END

** Error Message : Incorrect syntax near 'ENABLE'.
108
demandé sur BartekR 2009-09-07 11:47:36

5 réponses

Utilisez les commandes suivantes à la place:

ALTER TABLE table_name DISABLE TRIGGER tr_name

ALTER TABLE table_name ENABLE TRIGGER tr_name
208
répondu Wael Dalloul 2009-09-07 07:54:21

La ligne avant doit se terminer par un ; car dans SQL DISABLE n'est pas un mot clé . Par exemple:

BEGIN
;
DISABLE TRIGGER ...
60
répondu Mark Kane 2016-03-22 03:04:03

Comme Mark l'a mentionné, L'instruction précédente devrait se terminer par un point-virgule. Vous pouvez donc utiliser:

; DISABLE TRIGGER dbo.tr_name ON dbo.table_name
12
répondu kaptan 2015-05-04 14:57:06

Après le déclencheur D'activation ou de désactivation dans une nouvelle ligne, écrivez GO, exemple:

DISABLE TRIGGER dbo.tr_name ON dbo.table_name

GO
-- some update statement

ENABLE TRIGGER dbo.tr_name  ON dbo.table_name

GO
2
répondu Andrea 2017-11-09 21:28:33

Ci-dessous est le moyen le plus simple

Essayez le code

ALTER TRIGGER trigger_name DISABLE

C'est tout :)

-1
répondu kavita londhe 2015-11-19 07:14:34