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