Foi isso mesmo Matheus. 

Quando for disparada em 1 tabela em especial não terei o resultado esperado por 
conta do DELETE..

Grande distração a minha.. rs

Vou alterar ela pra que considere a tabela que disparou a TRIGGER com 
TG_RELNAME..
Assim já anulo essa possibilidade..

Obrigado
 
Att,
Tulio




>________________________________
> De: Matheus de Oliveira <[email protected]>
>Para: Tulio Santos <[email protected]>; Comunidade PostgreSQL 
>Brasileira <[email protected]> 
>Cc: Osvaldo Kussama <[email protected]> 
>Enviadas: Quarta-feira, 8 de Fevereiro de 2012 14:18
>Assunto: Re: [pgbr-geral] Trigger/Function: Delete não esta guardando variavel
> 
>
>Pelo que entendi você está dando um SELECT na mesma tabela que disparou a 
>trigger.
>Mas, como está usando AFTER, o registro já foi excluído, logo o SELECT não vai 
>achá-lo.
>A solução no seu caso seria usar BEFORE ao invés do AFTER, mas veja se isso 
>não implica em algum outro problema no restante da função.
>
>Att.
>--
>Matheus de Oliveira
>
>Bacharelado em Ciências de Computação
>Laboratório de Computação de Alto Desempenho - LCAD
>Instituto de Ciências Matemáticas e de Computação - ICMC
>Universidade de São Paulo - USP
>
>
>
>
>
>2012/2/8 Tulio Santos <[email protected]>
>
>A trigger esta deifinida para 3 tabelas que tenho que possuem o campo 
>idrep_eventon1...
>> 
>>postei aqui apenas o inicio da function, pois é onde estou vendo o 
>>problema... 
>>mas se preferir posso enviar completa..
>>
>>
>>Att,
>>Tulio
>>
>>
>>
>>
>>>________________________________
>>> De: Osvaldo Kussama <[email protected]>
>>>Para: Tulio Santos <[email protected]>; Comunidade PostgreSQL 
>>>Brasileira <[email protected]> 
>>>Enviadas: Quarta-feira, 8 de Fevereiro de 2012 13:20
>>>Assunto: Re: [pgbr-geral] Trigger/Function: Delete não esta guardando 
>>>variavel
>>> 
>>>
>>>Em 08/02/12, Tulio Santos<[email protected]> 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
>>[email protected]
>>https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a