Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico descreve como modificar ou renomear um gatilho DML no SQL Server 2014 usando o SQL Server Management Studio ou o Transact-SQL.
Nesse Tópico
Antes de começar:
Para modificar ou renomear um gatilho DML usando:
Antes de começar
Limitações e restrições
- Quando você renomeia um gatilho, o gatilho deve estar no banco de dados atual e o novo nome deve seguir as regras para identificadores.
Recomendações
Recomendamos que você não use o procedimento armazenado sp_rename para renomear um gatilho. A alteração de qualquer parte de um nome de objeto pode quebrar scripts e procedimentos armazenados. Renomear um gatilho não altera o nome do objeto correspondente na coluna de definição da exibição de catálogo sys.sql_modules . Recomendamos que você remova e recrie o gatilho em vez disso.
Se você alterar o nome de um objeto referenciado por um gatilho DML, deverá modificar o gatilho para que seu texto reflita o novo nome. Portanto, antes de renomear um objeto, exiba as dependências do objeto primeiro para determinar se os gatilhos são afetados pela alteração proposta.
Um gatilho DML também pode ser modificado para criptografar sua definição.
Para exibir as dependências de um gatilho, você pode usar o SQL Server Management Studio ou as seguintes exibições de função e catálogo:
Segurança
Permissões
Para alterar um gatilho DML, é necessária a permissão ALTER na tabela ou exibição na qual o gatilho é definido.
Como usar o SQL Server Management Studio.
Para modificar um gatilho DML
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados e expanda essa instância.
Expanda o banco de dados desejado, expanda Tabelas e expanda a tabela que contém o gatilho que você deseja modificar.
Expanda Gatilhos, clique com o botão direito do mouse no gatilho a ser modificado e clique em Modificar.
Modifique o gatilho e clique em Executar.
Para renomear um gatilho DML
Exclua o gatilho que você deseja renomear.
Recrie o gatilho, especificando o novo nome.
Usando Transact-SQL
Para modificar um gatilho usando ALTER TRIGGER
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, clique em Nova Consulta.
Copie e cole os exemplos a seguir na consulta. Execute o primeiro exemplo para criar um gatilho DML que imprime uma mensagem definida pelo usuário no cliente quando um usuário tenta adicionar ou alterar dados na
SalesPersonQuotaHistorytabela. Execute a instrução ALTER TRIGGER para modificar o gatilho para acionar somente emINSERTatividades. Esse gatilho é útil porque lembra o usuário que atualiza ou insere linhas nesta tabela de também notificar o departamentoCompensation.
USE AdventureWorks2012;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
USE AdventureWorks2012;
GO
ALTER TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
AFTER INSERT
AS RAISERROR ('Notify Compensation', 16, 10);
GO
Para renomear um gatilho usando DROP TRIGGER e ALTER TRIGGER
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, clique em Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. Este exemplo usa as instruções DROP TRIGGER e ALTER TRIGGER para renomear o
Sales.bonus_remindergatilho comoSales.bonus_reminder_2.
USE AdventureWorks2012;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder_2
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
Consulte Também
CREATE TRIGGER (Transact-SQL)
DROP TRIGGER (Transact-SQL)
ENABLE TRIGGER (Transact-SQL)
DESABILITAR GATILHO (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_rename (Transact-SQL)
ALTER TRIGGER (Transact-SQL)
Obter informações sobre gatilhos DML
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.assembly_modules (Transact-SQL)
sys.server_triggers (Transact-SQL)
sys.server_trigger_events (Transact-SQL)
sys.server_sql_modules (Transact-SQL)
sys.server_assembly_modules (Transact-SQL)