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