Boa tarde pessoal, tô precisando de uma ajuda, tenho uma trigger after update for each row, e nessa trigger eu com base em vários testes posso dar insert em outra tabela que tem um serial como chave, gostaria se saber se existe uma maneira de eu resgatar o código da chave da segunda tabela no próprio update, para exemplificar segue abaixo exemplo.
CREATE TABLE tab_a ( campo1 INTEGER, campo2 TEXT ) WITHOUT OIDS; CREATE TABLE tab_b ( campo3 serial, campo4 TEXT ) WITHOUT OIDS; insert into tab_a(campo1,campo2) values (1,'a'); insert into tab_a(campo1,campo2) values (2,'b'); insert into tab_a(campo1,campo2) values (3,'c'); insert into tab_a(campo1,campo2) values (4,'d'); CREATE FUNCTION fnc_tgr_tab_a_upd ( ) RETURNS trigger AS $body$ DECLARE chave_tabb integer; BEGIN insert into tab_b(campo4) values(new.campo1) returning campo3 into chave_tabb; return new; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; CREATE TRIGGER tab_a_tr AFTER UPDATE ON public.tab_a FOR EACH ROW EXECUTE PROCEDURE fnc_tgr_tab_a_upd(); update tab_a set campo2='z' where campo1=1 O que gostaria de fazer seria algo como: update tab_a set campo2='z' where campo1=1 returning chave_tabb; Tem como? Cordialmente, Felipe Rigotti ------------------------------------------------------- <mailto:fel...@sbsistemas.com.br> fel...@sbsistemas.com.br ------------------------------------------------------ SBsistemas <http://www.sbsistemas.com.br/> www.sbsistemas.com.br <mailto:sbsiste...@sbsistemas.com.br> sbsiste...@sbsistemas.com.br (54) 3342-6666 _____ Esta mensagem, incluindo os seus anexos, contém informações confidenciais destinadas a indivíduo e propósito específicos, e é protegida por lei. Caso você não seja o citado indivíduo, deve apagar esta mensagem. É terminantemente proibida a utilização, acesso, cópia ou divulgação não autorizada das informações presentes nesta mensagem. As informações contidas nesta mensagem e em seus anexos são de responsabilidade de seu autor, não representando idéias, opiniões, pensamentos ou qualquer forma de posicionamento por parte da SBsistemas. _____
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral