SELECT MAX(ID) functiona maravilhosamente bem...

...se estiver em um ambiente mono-usuário, mono-thread =P

Diversas bases tem suporte para obter o último Identity inserido, vide
e-mail da Gabriela.

Para MSSQL, seria SELECT @@IDENTITY

2010/2/4 Collin Peterson Mendes Chaves <[email protected]>:
> fazendo um teste aqui, percebi que ele as vezes pega o max id não de uma
> tabela que eu acabo de inserir, mas de uma imediatamente anterior
>
> Em 4 de fevereiro de 2010 10:01, Collin Peterson Mendes Chaves
> <[email protected]> escreveu:
>>
>> pessoal estou com um problema que acho ser grave. tenho uma aplicação que
>> preenche informações em várias tabelas diferentes. na aplicação quando
>> insiro um registro em uma tabela eu seleciono seu id (usando max id
>> inserido) para pegar esse id e inserir em uma outra tabela outras
>> informações. uso o mesmo procedimento para selecionar o id da primeira
>> tabela inserida para preencher outras tabelas. na hora de consultar no banco
>> de dados vejo que alguns registros inseridos não aparecem por completo.
>> Eu aqui pensando no que poderia ser, eu acho que o problema que pode está
>> ocorrendo é quando muita gente está inserindo dados ao mesmo tempo, pois na
>> hora de selecionar o max id uma vez pode ser um valor e em outra vez pode
>> ser outro já que outra pessoa tb está concorrentemente inserido. só que vejo
>> o processo de inserção tão rápido que não sei se esse é o real problema. se
>> for alguém pode me ajudar a resolver? (não sei se estou sendo claro)
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev



-- 
[]
Júlio César Ködel G.
"Você pode ficar sem comer durante 3 dias, sem beber durante 2 dias,
mas não pode ficar sem respirar por mais de 5 minutos.
Então, antes de imprimir isso, lembre-se que o oxigênio deste planeta
vem da árvore morta para fazer o papel que irá utilizar."

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a