Sql basico

3 respostas
AndreMendes

Imaginem uma tabela com um campo chave que se auto incrementa e é inteiro (id). Eu gostaria, na hora de inserir um novo registro, de recuperar o valor do ultimo id. Como fazer isso de uma forma simples ? Pensei em buscar, ordenar e pegar o ultimo, mas acho que é muito trabalho e deve existir uma forma mais simples …

3 Respostas

L

select Max(id) …

A

uma procura no google iria te retornar centenas de resultados com o conselho acima…
nesse caso recomendo: ignore!

dar um max(id) é uma técnica muito comum mas contém falhas com concorrência…

gosto de pensar assim: quem é responsável por gerar o id? o banco de dados? então ele é responsável por me informar o id gerado…

cada banco de dados costumar ter uma função específica para indicar o id gerado por sessão/tabela

qual banco de dados está utilizando?

a partir do jdbc 4.0 (acho), tem um método para retornar o id gerado também…

indique o que está utilizando…

wbdsjunior

http://java.sun.com/javase/6/docs/api/java/sql/Statement.html#getGeneratedKeys()

http://www.guj.com.br/posts/list/114797.java

Criado 2 de setembro de 2010
Ultima resposta 2 de set. de 2010
Respostas 3
Participantes 4