Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Este artigo descreve como modificar ou renomear um gatilho DML no SQL Server usando o SQL Server Management Studio ou Transact-SQL.
Limitaçõ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
Evite usar o procedimento armazenado sp_rename para renomear um gatilho. Alterar qualquer parte do nome de um objeto pode interromper scripts e procedimentos armazenados. Renomear um gatilho não altera o nome do objeto correspondente na coluna de definição na vista de catálogo sys.sql_modules. Recomendamos que elimine e recrie o gatilho.
Se você alterar o nome de um objeto referenciado por um gatilho DML, deverá modificá-lo para que seu texto reflita o novo nome. Portanto, antes de renomear um objeto, exiba as dependências do objeto primeiro para determinar se a alteração proposta afeta quaisquer gatilhos.
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:
Permissões
Para alterar um gatilho DML, é necessária a permissão ALTER na tabela ou vista na qual o gatilho está definido.
Usar o SQL Server Management Studio
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 Tabelase, em seguida, expanda a tabela que contém o gatilho que você deseja modificar.
Expanda Triggers, clique com o botão direito do mouse no gatilho a ser modificado e selecione Modificar.
Modifique o gatilho e selecione Executar.
Renomear um gatilho DML
- Exclua ou desative o trigger DML que deseja renomear.
- Criar o novo gatilho DML, especificando o novo nome.
Utilize o Transact-SQL
Modificar um gatilho usando ALTER TRIGGER
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na consulta. Execute o primeiro exemplo para criar um gatilho DML que imprime uma mensagem definida pelo usuário para o cliente quando um usuário tenta adicionar ou alterar dados na tabela
SalesPersonQuotaHistory. Execute a instrução ALTER TRIGGER para modificar o gatilho para disparar somente em atividadesINSERT. Este gatilho é útil porque lembra ao utilizador de que deve atualizar ou inserir linhas nesta tabela e também notificar o departamentoCompensation.Criar gatilho.
USE AdventureWorks2022; 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); GOAltere o gatilho.
USE AdventureWorks2022; GO ALTER TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory AFTER INSERT AS RAISERROR ('Notify Compensation', 16, 10); GO
Renomeie um gatilho usando DROP TRIGGER e CREATE TRIGGER
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Este exemplo usa as instruções DROP TRIGGER e CREATE TRIGGER para renomear o
Sales.bonus_remindertrigger paraSales.bonus_reminder_2.
USE AdventureWorks2022;
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
Conteúdo relacionado
- CRIAR GATILHO (Transact-SQL)
- GATILHO DE QUEDA (Transact-SQL)
- ATIVAR TRIGGER (Transact-SQL)
- DESATIVAR ACIONADOR (Transact-SQL)
- EVENTDATA (Transact-SQL)
- sp_rename (Transact-SQL)
- ALTER GATILHO (Transact-SQL)
- obter informações sobre os 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)