Puxa, como nunca uso, esqueci do returning. Também resolve e ficaria bem mais elegante q a minha alternativa.
-- Everton 2015-02-25 16:29 GMT-03:00 Rafael Fialho <rafafial...@gmail.com>: > Em 25 de fevereiro de 2015 15:47, Matheus Saraiva < > matheus.sara...@gmail.com> escreveu: > >> *create or replace function "funcInsertClientes"( cliente integer, >> f_depends "Pessoas"[] ) returns boolean as * >> ........ >> Na função, foi inserido na tabela Pessoas *(uma tabela genérica para >> todo tipo de pessoa),* todos os dependentes de um titular. O segundo >> insert, agora na tabela dependentes, deve adicionar, o código do dependente >> *(tabela >> de Pessoas)* e o código do titular. >> O ID do titular é tranquilo, pois já está vindo em forma de parâmetro >> para a função, mas como pegar o ID dos dependentes que foram cadastrado na >> tabela genérica de pessoas? >> A solução que pensei, foi pegar o *last_value* da sequência de Pessoas, >> antes e depois de inserir os dependentes. Assim, através da diferença eu >> saberia os ID que acabaram de ser cadastrados. Então, com um laço de >> repetição eu faria os inserts em dependentes. >> Porém, não sei se essa seria a forma mais elegante de se fazer. >> > > É complicado te ajudar porque você não fornece um detalhamento sobre o seu > ambiente, apenas apresenta os problemas. > Pelo pouco que entendi, se queres um retorno de qualquer dado que foi > inserido, tente dar uma olhada na cláusula RETURNING [1], ela pode retornar > dados que foram inseridos. > Se entendi, talvez te ajude. > > [1] - http://www.postgresql.org/docs/9.4/static/sql-insert.html > > []'s > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral