Eu quero criar um proc como abaixo, mas tem erro na sintaxe. Alguém poderia apontar o problema?
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
pontada
fonte
fonte
DISABLE TRIGGER [dbo].[tr_name] on [schema].[table_name]
trabalhava;
! Eu prefiro usarENABLE Trigger
. É aplicável em todos os servidores SQL a partir de 2008. #A linha anterior precisa terminar com um
;
porque no SQLDISABLE
não é uma palavra-chave . Por exemplo:fonte
Como Marcos mencionou, a declaração anterior deve terminar em ponto e vírgula. Então você pode usar:
fonte
Após o ENABLE TRIGGER OU DISABLE TRIGGER em uma nova linha, escreva GO, Exemplo:
fonte
Abaixo está o Script dinâmico para ativar ou desativar os gatilhos.
fonte
se você deseja executar ENABLE TRIGGER diretamente da fonte:
não podemos escrever assim:
em vez disso, podemos escrever:
fonte
Abaixo está a maneira mais simples
Experimente o código
ALTER TRIGGER trigger_name DISABLE
É isso aí :)
fonte