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;


Obrigado


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

Responder a