Je veux créer un proc comme ci-dessous mais il y a une erreur de syntaxe. Quelqu'un pourrait-il signaler 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'.
sql-server
triggers
serrement
la source
la source
DISABLE TRIGGER [dbo].[tr_name] on [schema].[table_name]
travaillais;
! Je préfère utiliserENABLE Trigger
. Il est applicable sur tous les serveurs SQL à partir de 2008.La ligne avant doit se terminer par un
;
car en SQLDISABLE
n'est pas un mot-clé . Par exemple:la source
Comme Mark l'a mentionné, l'instruction précédente doit se terminer par un point-virgule. Vous pouvez donc utiliser:
la source
Après le ENABLE TRIGGER OU DISABLE TRIGGER dans une nouvelle ligne, écrivez GO, Exemple:
la source
Vous trouverez ci-dessous le script dynamique pour activer ou désactiver les déclencheurs.
la source
si vous souhaitez exécuter ENABLE TRIGGER directement depuis la source:
on ne peut pas écrire comme ça:
à la place, nous pouvons écrire:
la source
Voici le moyen le plus simple
Essayez le code
ALTER TRIGGER trigger_name DISABLE
C'est tout :)
la source