Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
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 ALTER TRIGGER instrução para modificar o gatilho para disparar apenas emINSERTatividades. 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
Renomear um trigger 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 DROP TRIGGER instruções e CREATE TRIGGER para renomear o
Sales.bonus_remindergatilho 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
- CREATE TRIGGER (Transact-SQL)
- DROP TRIGGER (Transact-SQL)
- ENABLE TRIGGER (Transact-SQL)
- DISABLE TRIGGER (Transact-SQL)
- EVENTDATA (Transact-SQL)
- sys.sp_rename (Transact-SQL)
- ALTER TRIGGER (Transact-SQL)
- obter informações sobre os gatilhos DML
- sys.sp_help (Transact-SQL)
- sys.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)