sábado, 29 de agosto de 2015

Oracle - Trigger



Como é feito uma trigger ?

Um Trigger é composta por três partes.
1. O comando SQL que aciona o trigger(INSERT, DELETE, UPDATE)
2. Limitador de ação do trigger(cláusulaWHEN, especifica uma condição)
3.Ação executada pelo trigger.


Para criar uma trigger com SQL.
CREATE [OR REPLACE] TRIGGER nome_do_trigger [BEFORE/AFTER] comando_de_disparo ON nome_da_tabela [FOR EACH ROW] [WHEN (condição)] onde:
OR REPLACE: Permite alterar o trigger sem que seja necessário apagá-lo previamente. Comando_de_disparo:
É o comando que ativa a trigger(INSERT, DELETE, UPDATE).
For Each Row: Indica que o trigger é do tipo row-level e deve ser executado para todas as linhas selecionadas.
Exemplo:
CREATE TRIGGER DELREPL BEFORE DELETE ON TABELA FOR EACH ROW
Begin
delete from tabela1 where campo = :old.campo;
end;


Desabilitar uma Trigger.
Para desabilitar uma trigger use o seguinte:
ALTER TRIGGER DELREPL DISABLE;
 

Remover uma Trigger.
Para apagar uma trigger use o seguinte:
DROP TRIGGER DELREPL
 

Verificando um Trigger
Para verificar um trigger use o seguinte:
desc dba_triggers; ou
select trigger_name, trigger_type
from dba_triggers where owner='SCOTT';

Autor: Helio Sumyta
Data:
18/07/2000