Select para o último dado inserido

6 respostas
O

Preciso pegar o último elemento inserido da tabela.

SELECT * 
FROM DB2ADMIN.TEXPURCTRLVALDC
WHERE

Alguém poderia me ajudar?

6 Respostas

P

b?

R

Para fazer um select retornando o ultimo cara inserido vc pode fazer assim:

SELECT * FROM [SUA TABELA]
WHERE [CAMPO UNICO] IN (SELECT MAX([CAMPO UNICO]) FROM [TABELA])

Ou simplesmente:

(SELECT MAX([CAMPO UNICO]) FROM [TABELA]
O

Ah…legal
Funcionou aqui.
Obrigado Rafael Guedes

V

Se tiver ordem, em alguns bancos você pode fazer:

SELECT TOP 1 * FROM tabela ORDER BY id DESC;

Aqui estou considerando que o registro de maior id conterá o último valor inserido.

R

acho uma má pratica, pq vamos supor o seguinte caso

usuario1 insere
usuario2 insere (antes de usuario1 executar o select, é dificil mas nao impossivel de ocorrer)
usuario1 seleciona no banco o ultimo registro

pronto, o usuario1 vai ficar com o id do registro inserido pelo usuario2…

de uma olhada neste metodo para resolver seu problema

http://java.sun.com/javase/6/docs/api/java/sql/Statement.html#getGeneratedKeys%28%29

abrasssssssssssssss

V

Ele estava pedindo pelo último elemento inserido, não pela próxima chave. Mas claro, se ele quer usar esse último elemento para obter a próxima chave, é errado mesmo. O ideal é usar o getGeneratedKeys() ou uma função do próprio banco de dados.

Criado 6 de abril de 2010
Ultima resposta 7 de abr. de 2010
Respostas 6
Participantes 5