Em 18 de fevereiro de 2015 12:18, Fabrízio de Royes Mello <
fabri...@timbira.com.br> escreveu:

> On 18-02-2015 11:44, Douglas Fabiano Specht wrote:
> > Bom dia Pessoal
> >
> > tenho uma trigger after insert or delete, postgres 9.4, que se for feito
> um
> > delete eu preciso dar um insert em uma tabela com um join.
> > até ai tudo certo, ocorre que não esta fazendo o insert, pois o select
> não
> > deve estar retornado dados.
> >
> >     if (TG_OP = 'DELETE') then
> > insert into dah.wdados(codempresa, tipo, codigo, titular, nro, chave,
> > celular, dataoperacao)
> > select old.codempresa, 'CO', old.codigo, old.nome, old.acesso, old.chave,
> > c.celular, CURRENT_TIMESTAMP
> > from cadcliente c
> > join movimento h on (c.codigo = h.codigo )
> > where (h.chave = old.chave and h.codempresa=old.codempresa) ;
> >         return old;
> >       END IF;
> >
> > alguma dica ou segredo pra poder fazer esse join com where utilizando as
> > colunas OLD?
> > ou como eu poderia salvar o comando com seus valores? estou usando o
> > debbuger do pgadmin, mas os valores dos campos não mostram.
> >
>
> Douglas,
>
> Em qual tabela está essa trigger?? Lembre-se que o AFTER já considera a
> operação efetivada, ou seja, se a sua query com JOIN precisa das tuplas
> excluidas não serão retornadas. Me parece que vc precisa colocar esse
> seu INSERT no BEFORE DELETE.
>
> Att,
>
> --
>    Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
>    PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>

Fabrizio,
a trigger esta na tabela tabela movimento, e o delete é nela mesmo.
se eu colocar no before e dentro de um bloco de transação dar rollback na
aplicação a trigger será executada?
exemplo

begin
insert na table X
delete movimento(executa a trigger no before)
update tabela Y(aqui ocorre um erro e um rollback)



-- 

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

Responder a