cara... só fazendo uma stored procedure...
declare o parametro que você quer retornar como OUTPUT

create procedure sp_Gravar
     @ID INT OUTPUT,
     ....
     -- ai vc insere os valores
   -- e retorna o ultimo identity gerado pelo SQL
     SELECT @id = SCOPE_IDENTITY()

se não for em uma procedure não há como garantir a integridade do valor 
retornado, com a sp é possível pq o sql cria uma transação antes de 
executar...

o/



Em 15/07/2010 17:37, Jhosef Marks escreveu:
> E ai galera...
>
> É o seguinte, tenho duas tabelas que tem um relacionamento de
> um-para-muitos, e tem um alto indice de inserções agrupadas, preciso que
> quando for inserido um valor na tabela master me seja retornado o número
> exato que foi gerado para o campo chave desta para poder usar nos filhos,
> está acontecendo que quando ocorre duas inserções praticamente ao mesmo
> tempo, quando eu mando buscar o valor inserido já foi outro inserido em
> cima, jogando os detalhes desses últimos registro e um só...
>
> To perdendo a cabeça com isso... alguém passou por isso?
>
> To usando SQL Server 2005 + Delphi 7
>
> Att,
>
> Jhosef Marks de Carvalho
> Blog: http://www.jhosefmarks.com.br
> Jesus está voltando
>
> "E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e 
> buscar
> a minha face e se converter dos seus maus caminhos, então eu ouvirei dos
> céus, e perdoarei os seus pecados, e sararei a sua terra." (2 Cr 7:14)
>
> [As partes desta mensagem que não continham texto foram removidas]


Responder a