Отключить включить триггер 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 108

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

вот именно :)