Compartilhar via


Diretrizes de planejamento do gatilho DML

Há duas opções ao projetar gatilhos DML:

  • Os gatilhos INSTEAD OF são executados no lugar da ação de gatilho usual. Os gatilhos INSTEAD OF também podem ser definidos em exibições com uma ou mais tabelas, em que possam estender os tipos de atualizações que uma exibição pode suportar.

  • Os gatilhos AFTER são executados depois que ação das instruções INSERT, UPDATE ou DELETE for executada. Os gatilhos AFTER são especificados da mesma forma que os gatilhos FOR. Os gatilhos AFTER podem ser especificados somente em tabelas.

Esta tabela compara a funcionalidade dos gatilhos AFTER e INSTEAD OF.

Função

Gatilho AFTER

Gatilho INSTEAD OF

Aplicabilidade

Tabelas

Tabelas e exibições

Quantidade por tabela ou exibição

Múltiplas ações por ação de gatilho (UPDATE, DELETE e INSERT)

Uma ação por ação de gatilho (UPDATE, DELETE e INSERT)

Referências em cascata

Nenhuma restrição se aplica

Os gatilhos INSTEAD OF UPDATE e DELETE não são permitidos em tabelas que são destinos de restrições de integridade referencial em cascata.

Execução

Após:

  • Processamento da restrição

  • Ações referenciais declarativas

  • Criação de tabelas inserida e excluída

  • A ação de gatilho

Antes:

  • Processamento da restrição

Em lugar de:

  • A ação de gatilho

Após:

  • Criação de tabelas inserida e excluída

Ordem de execução

A primeira e a última execução podem ser especificadas

Não aplicável

As referências de coluna varchar(max), nvarchar(max) e varbinary(max) em tabelas inseridas e excluídas

Permitido

Permitido

Referências de coluna text, ntext e image em tabelas inseridas e excluídas

Não permitido

Permitido

Consulte também

Conceitos