Implementando gatilhos DDL

Este tópico fornece informações para ajudá-lo a criar gatilhos DDL, modificar gatilhos DDL e desabilitar ou cancelar gatilhos DDL.

Criando gatilhos DDL

Os gatilhos DDL são criados usando a instrução Transact-SQL CREATE TRIGGER para gatilhos DDL.

Para criar um gatilho DDL

Para cancelar um gatilho DDL

Observação importanteImportante

A habilidade de retornar conjuntos de resultados de gatilhos será removida em uma versão futura do SQL Server. Gatilhos que retornam conjuntos de resultados podem causar comportamento inesperado em aplicativos que não são projetados para funcionar com eles. Evite retornar conjuntos de resultados de gatilhos em novo trabalho de desenvolvimento e planeje a modificação de aplicativos que atualmente fazem isso. Para impedir que os gatilhos retornem conjuntos de resultados no SQL Server 2008, defina a Opção disallow results from triggers como 1. A configuração padrão dessa opção será 1 em uma versão futura do SQL Server.

ObservaçãoObservação

Gatilhos DDL definidos por servidor aparecem no Pesquisador de Objetos do SQL Server Management Studio na pasta Triggers. Essa pasta está localizada na pasta Server Objects. Gatilhos DDL definidos por banco de dados aparecem na pasta Database Triggers. Essa pasta fica localizada na pasta Programmability do banco de dados correspondente.

Modificando gatilhos DDL

Para modificar a definição de um gatilho DDL, você pode cancelar e recriar o gatilho ou redefinir o gatilho existente em uma única etapa.

Se você alterar o nome de um objeto referenciado por um gatilho DDL, modifique o gatilho para que seu texto reflita o novo nome. Portanto, antes de renomear um objeto, exiba primeiramente as dependências do objeto para determinar se algum gatilho foi afetado pela mudança proposta.

Um gatilho também pode ser modificado para codificar sua definição.

Para modificar um gatilho

Para exibir as dependências de um gatilho

Desabilitando e cancelando gatilhos DDL

Quando um gatilho DDL não é mais necessário, pode ser desabilitado ou excluído.

Ao desabilitar um gatilho DDL, você não o cancela. O gatilho ainda existe como um objeto no banco de dados atual. Porém, o gatilho não será acionado quando qualquer instrução Transact-SQL, em que ele tenha sido programado, for executada. Os gatilhos DDL desabilitados podem ser habilitados novamente. A habilitação de um gatilho DDL faz com que ele seja acionado da mesma maneira que era ao ser criado originalmente. Quando os gatilhos DDL são criados, eles são habilitados por padrão.

Quando um gatilho DDL é excluído, ele é cancelado do banco de dados atual. Quaisquer objetos ou dados que servem de escopo para o gatilho DDL não são afetados.

Para desabilitar um gatilho DDL

Para habilitar um gatilho DDL

Para excluir um gatilho DDL