Отключить включить триггер SQL server

Я хочу создать один proc, как показано ниже, но он имеет ошибку в синтаксисе. Может ли кто-нибудь указать на проблему?

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'.

5 ответов


используйте следующие команды:

ALTER TABLE table_name DISABLE TRIGGER tr_name

ALTER TABLE table_name ENABLE TRIGGER tr_name

строка перед должна заканчиваться на ; потому что в SQL DISABLE не является ключевым словом. Например:

BEGIN
;
DISABLE TRIGGER ...

Как уже упоминалось, предыдущий оператор должен заканчиваться точкой с запятой. Таким образом, вы можете использовать:

; DISABLE TRIGGER dbo.tr_name ON dbo.table_name

после включения триггера или отключения триггера в новой строке напишите GO, например:

DISABLE TRIGGER dbo.tr_name ON dbo.table_name

GO
-- some update statement

ENABLE TRIGGER dbo.tr_name  ON dbo.table_name

GO

ниже самый простой способ

попробовать код

ALTER TRIGGER trigger_name DISABLE

вот именно :)