Material
  • Material de Banco de Dados
  • Introdução
    • Bancos de Dados
    • Relacional Versus Não Relacional
    • SQL e NoSQL (Não SQL)
    • ACID, CAP e BASE
  • Fundamentos
    • Abstração
    • Modelos de Dados
    • MER e DER
    • Cardinalidades
    • Formas Normais
    • Propriedades ACID
    • Álgebra Relacional
      • Portal para praticar
      • Script para criar o banco de dados
      • Exercício
      • Respostas - Álgebra Relacional
  • Linguagem SQL
    • Linguagens de Banco de Dados
    • CREATE
    • INSERT
    • UPDATE
    • DELETE
    • SELECT
    • VIEW
    • FUNÇÕES
    • PROCEDURES
    • CURSORES
    • TRANSAÇÕES
    • TRIGGERS
    • INDICES
    • CTE
  • Exercícios SQL
    • EXERCÍCIOS Parte 1
    • EXERCÍCIOS Parte 2
    • EXERCÍCIOS Parte 3
    • EXERCÍCIOS Procedure
    • EXERCÍCIOS Procedure - Resolução
  • Tópicos Avançados
    • Novas Tecnologias de armazenamento de dados
      • NoSQL
      • CAP e BASE
      • Big Data
    • Arquiteto de Dados
    • Engenheiro de Dados
    • Cientista de Dados
  • Extras
    • Download SQL Server 2017 e SSMS
    • Instalar SQL Server 2017
    • Instalar SSMS
    • Documentação dos SGBD
  • Canal no Youtube
Powered by GitBook
On this page
  1. Linguagem SQL

TRIGGERS

  • Comando vinculado a uma tabela que executa um ação assim que algum comando de UPDATE, INSERT ou DELETE é executado na tabela onde a trigger está vinculada.

****

  • Trigger para INSERT

CREATE TRIGGER trgINSERT_CLIENTE
ON Clientes
FOR INSERT
AS
BEGIN
INSERT clientes_audit
SELECT *,[TRG_OPERACAO] = 'INSERT', [TRG_DATA]=GETDATE(), [TRG_FLAG]='NEW' FROM Inserted
END;
  • Trigger para DELETE

CREATE TRIGGER trgDELETE_CLIENTE
ON dbo.Clientes
FOR DELETE
AS
BEGIN
INSERT dbo.clientes_audit SELECT *,[TRG_OPERACAO] = 'DELETE',[TRG_DATA]=GETDATE(),[TRG_FLAG]='OLD' FROM Deleted
END;
  • Trigger para UPDATE

CREATE TRIGGER trgUPDATE_CLIENTE
ON dbo.Clientes
FOR UPDATE
AS
BEGIN
INSERT dbo.clientes_audit SELECT *,[TRG_OPERACAO] = 'UPDATE',[TRG_DATA]=GETDATE(),[TRG_FLAG]='OLD' FROM Deleted
INSERT dbo.clientes_audit SELECT *,[TRG_OPERACAO] = 'UPDATE',[TRG_DATA]=GETDATE(),[TRG_FLAG]='NEW' FROM Inserted
END;
PreviousTRANSAÇÕESNextINDICES

Last updated 2 years ago