Em 08/02/12, Tulio Santos<tuliogust...@yahoo.com.br> escreveu:
> Boa tarde,
> Criei uma trigger AFTER que é ativada em caso de UPDATE, INSERT ou DELETE.
> Ao identificar a operação da Trigger como Delete, estou com problemas para
> guardar os resultados nas variaveis.
> Não entendo o motivo, pois nos casos como UPDATE ou INSERT é utilizado a
> mesma consulta, porem com NEW ao inves de OLD.
> Coloquei RAISE EXCEPTION para encontrar quais variaveis nao estavam sendo
> registradas, conforme abaixo.
>
>
>     IF (TG_OP = 'DELETE') THEN
>       select distinct mte.idrepesportesmt, mte.estado from rep_eventon1 n1
>       inner join repesportesmt mte on mte.idrepesportesmt =
> n1.idrepesportesmt
>       where n1.idrep_eventon1 = OLD.idrep_eventon1 INTO rec;
>
>       select n1.idrepesportesmt, n1.idprog,
>           case when (pm.codapresentacao in (2,3,4)) then true else false end
> as reprise from rep_eventon1 n1
>       inner join cli_progsmidia pm ON pm.idprog = n1.idprog
>       where n1.idrep_eventon1 = OLD.idrep_eventon1 INTO rec_reprise;
>
>
>       // a variavel OLD é exibida normalmente, mas as outras retornam NULL
>
>
>       RAISE EXCEPTION 'teste variaveis (%),(%),(%)',
> OLD.idrep_eventon1,rec.idrepesportesmt, rec_reprise.reprise;
>
>     ELSE
>       select distinct mte.idrepesportesmt, mte.estado from rep_eventon1 n1
>       inner join repesportesmt mte on mte.idrepesportesmt =
> n1.idrepesportesmt
>       where n1.idrep_eventon1 = NEW.idrep_eventon1 INTO rec;
>
>       select n1.idrepesportesmt, n1.idprog,
>           case when (pm.codapresentacao in (2,3,4)) then true else false end
> as reprise from rep_eventon1 n1
>       inner join cli_progsmidia pm ON pm.idprog = n1.idprog
>       where n1.idrep_eventon1 = new.idrep_eventon1 INTO rec_reprise;
>
>
>       // todas as variaves exibem seus resultados normalmente
>
>       RAISE EXCEPTION 'teste variaveis (%),(%),(%)', NEW.idrep_eventon1,
> rec.idrepesportesmt, rec_reprise.reprise;
>
>     END IF;
>
>



E este gatilho está definido em qual tabela?

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to