Gatilhos Oracle
SGBD Oracle: Gatilhos
Conteúdo
Introdução
Criando Triggers
:NEW e :OLD
Modificação de Triggers
Remoção de Triggers
Desabilitando Triggers
Habilitando Triggers
Obtendo informações
Introdução
O que é um Gatilho ou Trigger ?
Tipo especial de procedimento armazenado, associado a uma tabela, que é executado quando dados são modificados. Uma Trigger no SGBD Oracle apresenta comportamento semelhante às Triggers de outros
SGBDs.
Introdução
Qual o objetivo de uma Trigger ?
Assegurar regras de negócio ou restrições que, por serem complexas, não podem ser tratadas por outros mecanismos (CHECK, FOREIGN KEY, etc) Introdução
Quando uma Trigger é executada ?
Quando um Evento acontece.
Esse Evento pode ser um INSERT,
UPDATE ou DELETE em uma tabela específica Introdução
O SGBD Oracle apresenta, basicamente , quatro tipos de
Gatilhos:
BEFORE STATEMENT LEVEL
BEFORE ROW LEVEL
AFTER ROW LEVEL
AFTER STATEMENT LEVEL
Criando Triggers
CREATE OR REPLACE TRIGGER
TG_INSERT_ALUNO
BEFORE INSERT ON TB_ALUNO
BEGIN
...
END;
Criando Triggers
CREATE OR REPLACE TRIGGER
TG_INSERT_UPDATE_ALUNO
BEFORE INSERT OR UPDATE ON TB_ALUNO
BEGIN
...
END;
Criando Triggers
CREATE OR REPLACE TRIGGER
TG_INSERT_UPDATE_ALUNO
AFTER INSERT OR UPDATE ON TB_ALUNO
BEGIN
...
END;
Criando Triggers
CREATE OR REPLACE TRIGGER
TG_INSERT_UPDATE_ALUNO
BEFORE INSERT OR UPDATE ON TB_ALUNO
FOR EACH ROW -- Trigger de linha
BEGIN
...
END;
Criando Triggers
CREATE OR REPLACE TRIGGER
TG_INSERT_UPDATE_ALUNO
BEFORE INSERT OR UPDATE ON TB_ALUNO
FOR EACH ROW
DECLARE -- Seção de Declaração valor number(4);
BEGIN
...
END;
:NEW e :OLD
Quando uma Trigger de linha é disparada, duas variáveis temporárias podem ser utilizadas para auxiliar as regras de negócio: :NEW, :OLD
A variável ou registro :NEW