Passar condição na trigger

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
rhicky
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 58
Registrado em: Sex, 20 Jul 2007 9:48 am
Localização: S. J. do Rio Preto/SP
Rhicky

Prezados,

Conforme demonstro abaixo, tenho uma trigger que já está funcionando:

Selecionar tudo

create or replace trigger trg_exclui
after delete on pfunc
for each row

begin

delete from pfunc2
where registro =:old.chapa
and empresa =:old.empresa;

end trg_exclui;
Ocorre que no campo "registro" preciso incluir a condição de que se a "data de admissao" do empregado for maior que 01/01/2012 deve considerar a informação "old.chapa", caso contrário, deve considerar "old.registro". Como ficaria o código dessa trigger nas condições que preciso ?
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Olá Rhicky

tente assim:

Selecionar tudo

create or replace trigger trg_exclui
after delete on pfunc
for each row

begin

IF TO_DATE(NEW.data de admissao, 'DD/MM/YYYY') >  TO_DATE('01/01/2012', 'DD/MM/YYYY') THEN 
    delete from pfunc2
      where registro =:old.chapa
      and empresa =:old.empresa;

ELSE
      delete from pfunc2
      where registro =:old.registro
      and empresa =:old.empresa;
END IF;      

end trg_exclui;

Espero ter ajudado.

Abs.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes