oi Júlio, estou realmente usando sql server. eu estou usando realmente o select max(id). Agora esse select @@identity ele representa sempre o valor recentemente inserido. se eu adicionar um registro ele pega o id do que foi inserido, mas se no meio do codigo eu inserir em outra tabela dados desse registro ele assume o id mais recente o dessa outra tabela inserida? Em 4 de fevereiro de 2010 10:22, Júlio César Ködel <[email protected]>escreveu:
> 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 > -- 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
