Retornar o id do insert ou update no postgres via query

Publicado por: Vanderson da Silva
Postado: 17-06-2015
Atualizado:06-10-2016

Já vi em muitos fontes a recuperação do valor da PK do registro inserido ou atualizado sendo feito com count ou max na tabela sendo que essa pode ser uma estratégia falha, um opção pode ser resgatando o valor corrente da sequence, caso exista, senão segue uma opção alternativa mais elegante.

UPDATE tabela SET campo = 'valor' WHERE id = 1 RETURNING id;

Esse comando roda no postgres, não cheguei a testar em outros bancos, mas acredito que exista pelo menos alguma opção compatível.

 

 

Categoria: PostgreSQL