Em ter, 4 de jul de 2017 às 16:55, POWER Informática < power.informatica....@gmail.com> escreveu:
> Bom dia pessoal, > > Antes de continuar as pesquisas no são Google, vou compartilhar com > vocês um probleminha que estou tendo aqui, e antes ainda de fazer uma > gabiarra. > > A ideia é incluir a nota fiscal e depois em uma tabela "itensdanota" > incluir os itens, estou usando a seguinte instrução[2] para pegar o > último id, MAS ... tudo isso dentro de uma TRANSAÇÃO. > > 1) envio os dados para a tabela "notas" > > 2) SELECT MAX(idnf)as ultimoid FROM notas > > 3) Envio uma linha para a tabela "itensdanota" > > Como ainda não foi executado o commit, não esta me retornando o ID correto > Se outras transações concorrentes comitarem, você verá o id delas, não o que você quer com o seu SELECT max(...)... > É assim mesmo antes do commit não posso pegar esse ID ? > Use returning ao fazer o insert na sua tabela notas, exermplo: INSERT INTO notas (a, b, c) VALUES (n1, n2, n3) RETURNING id; > Obs: PostgreSQL / PHP > Ainda bem, se fosse MySQL / PHP eu ia ficar preocupado contigo. []s Flavio Gurgel
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral