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
