Я хочу создать одну процедуру, как показано ниже, но в ней есть синтаксическая ошибка. Может ли кто-нибудь указать на проблему?
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
острая боль
источник
источник
DISABLE TRIGGER [dbo].[tr_name] on [schema].[table_name]
работал;
! Я предпочитаю использоватьENABLE Trigger
. Это применимо на всех серверах SQL, начиная с 2008 года.Строка перед ним должна заканчиваться на,
;
потому что в SQLDISABLE
это не ключевое слово . Например:источник
Как уже упоминал Марк, предыдущий оператор должен заканчиваться точкой с запятой. Итак, вы можете использовать:
источник
После ENABLE TRIGGER OR DISABLE TRIGGER в новой строке напишите GO, Пример:
источник
Ниже приведен динамический сценарий для включения или отключения триггеров.
источник
если вы хотите выполнить ENABLE TRIGGER непосредственно из источника:
мы не можем так писать:
вместо этого мы можем написать:
источник
Ниже представлен самый простой способ
Попробуйте код
ALTER TRIGGER trigger_name DISABLE
Это оно :)
источник