SQL QUE RETORNE O ID RECEM ADICIONADO

FBUR 05/11/2009 09:34:49
#326977
Bom dia!

Preciso de uma SQL que me retorne o ID recém-adicionado na tabela, que é a minha chave primária.

No programa, ao inserir um novo registro na tabela X, preciso do ID dele para inserir na tabela Y (chave estrangeira) tudo no mesmo evento.

Hoje uso o rs.MoveLast logo após inserir o registro que quero recuperar a chave primária, mas gostaria de saber se existe alguma maneira direto na SQL.

[ ]'s
LCSD 05/11/2009 09:45:14
#326981
Resposta escolhida
faça assim logo após o insert:

Select @@IDENTITY as Codigo


Neste campo Codigo te trará o último ID inserido, aí é só jogar numa variavel e blz....
CAIO.FR.SP 05/11/2009 10:03:16
#326985
LCSD. no caso esse sql retorna o valor do campo codigo do db? da pra especificar o valor de qual o campo que ele deve retornar?
existe como saber qual sera o proximo codigo a ser gerado pelo db quando o campo é altonumerico?
ja tentei somando o ultimo registro + 1 mais nao da mto certo.
abraços
LCSD 05/11/2009 10:11:09
#326986
caro CAIO,

Este select retornará o último valor adicionado no campo ID da sua tabela.
Se o seu campo ID for o campo CODIGO (autonumeração), ele irá te retrnar o último código gerado por ele após a inserção dos dados.

Agiora, uma função SQL para descobrir o próximo + 1 direto, creio que não existe........
FBUR 05/11/2009 10:16:41
#326989
maravilha! obrigado!
CAIO.FR.SP 05/11/2009 10:17:18
#326990
LCSD, valeu entendi.
Grato pela explicação.
Tópico encerrado , respostas não são mais permitidas