O que são Triggers no SQL Server
Um gatilho é um tipo especial de procedimento armazenado que é executado automaticamente quando um evento ocorre no servidor de banco de dados.
Para entender uma TRIGGER primeiramente temos que entender como funciona o fluxo de transações no SQL SERVER
Fluxo de transações no SQL SERVER
Todas as transações DML (INSERT, UPDATE OU DELETE) no banco de dados seguem um fluxo de transações que não vemos, mas que o gerenciados do banco de dados executa automaticamente:
- Verificações de IDENTITY INSERT – Verifica se o dado é auto inserido
- Restrições (CONSTRAINT) de nulos (NULL) – Verificação se há restrições de nulos
- Checagem do tipo de dados – Analisa se o dado inserido é compatível com o tipo de dados definido na criação da tabela (varchar, int, etc)
- Execução da trigger INSTEAD OF – A execução da instrução DML para por aqui e é executada a TRIGGER.
- Restrição de Chave Primária –
- Restrição de Check
- Restrição de Chave Estrangeira
- Execução da DML e atualização do log de transação
- Execução da trigger AFTER
- Commint da transação – Confirmação
Os gatilhos DML são executados quando um usuário tenta modificar dados através de um evento DML (linguagem de manipulação de dados). Os eventos DML são instruções INSERT, UPDATE ou DELETE em uma tabela ou exibição. Esses gatilhos são disparados quando qualquer evento válido é acionado, independentemente de quaisquer linhas da tabela serem afetadas ou não.
CREATE TRIGGER trigger_name ON nome_da_table | nome_da_view FOR | AFTER | INSTEAD OF INSERT, UPDATE,DELETE AS Bloco contendo as instruções que serão executadas na TRIGGER
Os gatilhos DDL são executados em resposta a diversos eventos DDL (linguagem de definição de dados). Esses eventos correspondem, basicamente, a instruções Transact-SQL CREATE, ALTER e DROP e determinados procedimentos armazenados do sistema que executam operações do tipo DDL.
CREATE TRIGGER trigger_name ON ALL SERVER | DATABASE FOR | AFTER event_type | event_group AS Bloco contendo as instruções que serão executadas na TRIGGER
Os gatilhos de logon são disparados em resposta ao evento LOGON que é gerado quando as sessões de um usuário estão sendo estabelecidas.
CREATE TRIGGER trigger_name ON ALL SERVER FOR| AFTER LOGON AS sql_statement Bloco contendo as instruções que serão executadas na TRIGGER
EXEMPLO DE USO
CREATE TRIGGER NOME_DA_TRIGGER ON NOME_DA_TABELA AFTER UPDATE,INSERT AS --UM EXEMPLO QUE PEGA A ATUALIZAÇÃO DOS DADOS EM UMA COLUNA DA TABELA IF UPDATE(NOME_DA_COLUNA) BEGIN --INSIRA AQUI AS INSTRUÇÕES END
Tipos de TRIGGER
AFTER
- A trigger e executada após a confirmação de uma transação no banco de dados (INSERT, UPDATE OU DELETE)
- Se não declarado o tipo, o AFTER é declarado como padrão
- AFTER pode só pode ser vinculada a TABELAS
INSTEAD OF
- O código presente na TRIGGER é executado no lugar da operação que causou o disparo, ou seja, as declaração DML (INSERT, UPDATE OU DELETE) não simuladas e não executadas.
- AFTER pode ser aplicado em VIEWS
COMO ENCONTRAR UMA TRIGGER PELO NOME
Em uma tabela específica
EXEC sp_helptrigger @tabname=nome_da_tabela
No banco de dados todo
USE nome_do_banco_de_dados SELECT * FROM sys.triggers WHERE is_disabled = 0
Está desabilitado?
- 0 não
- 1 sim
Triggers – Definição e Tipos Instead Of e After – SQL Server – Parte 01
Triggers – Criação e Testes dos modos Instead Of e After – SQL Server – Parte 02
Triggers – Habilitar, Desabilitar e verificar Status – SQL Server – Parte 03
PD – Criar Trigger Básica após Inserir no SQL Server 2012
Olá! Sou Fábio Bmed — fundador da Metapax, consultoria estratégica de posicionamento e crescimento para negócios, e criador da MapexMind, um método de neuropsicologia aplicada voltado à compreensão prática da mente humana. Também sou o criador do blog FabioBmed.com.br.
Desde 2006 trabalho com tecnologia, marketing digital e análise de sistemas complexos. Mas os sistemas que mais me fascinam hoje são os que carregamos dentro da cabeça.
Estou entrando na psicologia, com foco em neuropsicologia — a ciência que explica por que você pensa, decide e se comporta do jeito que faz. Essa transição não é um desvio de rota: é a evolução natural de quem passou décadas entendendo como sistemas funcionam — e percebeu que o mais complexo de todos ainda estava por ser mapeado.
Ao longo dessa trajetória, criei dois projetos que sintetizam essa visão.
A Metapax nasceu da percepção de que negócios não crescem por acaso. Crescem quando existe uma estrutura clara de autoridade, presença e experiência do cliente. Depois de mais de duas décadas liderando operações digitais e analisando padrões de crescimento empresarial, transformei esse entendimento no Método APA — Autoridade, Presença e Atendimento — aplicado a empresas e profissionais que querem crescer com previsibilidade e posicionamento sólido.
Já a MapexMind surgiu de outro tipo de investigação: entender a arquitetura da mente humana. O projeto aplica neuropsicologia à vida real para ajudar pessoas a compreenderem padrões emocionais, cognitivos e comportamentais — próprios ou de quem amam — traduzindo conceitos complexos em clareza prática e utilizável.
No fundo, os dois projetos partem da mesma pergunta:
Como sistemas funcionam por trás da superfície?
Negócios, comportamento, decisões, relações humanas, tecnologia, marketing e mente — tudo aqui é analisado pelo mesmo prisma: estrutura, padrões e a ciência por trás de como as coisas realmente funcionam.
Este blog é o ponto de encontro dessas áreas. Um espaço onde tecnologia, psicologia, neurociência, comportamento humano, marketing e filosofia prática deixam de ser assuntos separados e passam a conversar entre si.
Publicação Criada em: novembro 6, 2013
Atualizado em: março 19, 2025 3:53 pm


