Qual é a diferença entre FOR
e AFTER
gatilhos?
sql
sql-server-2005
triggers
sqlchild
fonte
fonte
Respostas:
Não há diferença, eles fazem a mesma coisa.
É o mesmo que
Um
INSTEAD OF
gatilho é diferente e dispara antes e em vez da inserção e pode ser usado em visualizações, a fim de inserir os valores apropriados nas tabelas subjacentes.fonte
@Ben está absolutamente certo.
Aqui está o artigo do MSDN Explorando o SQL Server Triggers
Um parágrafo do artigo:
fonte
AFTER especifica que o gatilho DML é disparado apenas quando todas as operações especificadas na instrução SQL de gatilho foram executadas com êxito. Todas as ações em cascata referencial e verificações de restrição também devem ser bem-sucedidas antes que este gatilho seja disparado. AFTER é o padrão quando FOR é a única palavra-chave especificada.
Os gatilhos AFTER não podem ser definidos nas visualizações.
INSTEAD OF Especifica que o gatilho DML é executado em vez da instrução SQL de gatilho, portanto, substituindo as ações das instruções de gatilho. INSTEAD OF não pode ser especificado para DDL ou gatilhos de logon.
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql
fonte