Com certeza que as principais vantagens que você terá com sp são a velocidade e a economia de espaço em disco.
Agora, quanto à integridade, sim, há essa possibilidade de sua perda, mas na medida em que as velocidades de processamento cada vez se tornam maiores e ultrapassem a minima resolução que voce tenha disponível em campos do tipo timestamp no SGBD, embora, dia a dia, conforme a necessidade do mercado, os tipos de dados são readequados. O tipo timestamp no firebird é de 1/10000 de segundos. E é usado para registrar o log de transações do SGBD, para assegurar a sequencia em que as operações foram realizadas. Se não servir para o SGBD, não servirá para mais nada... Fico feliz por já ter claro a solução, felicidades, um abraço, Roberto Camargo. --- On Fri, 7/16/10, Roni Rodrigo <ronirodr...@yahoo.com.br> wrote: From: Roni Rodrigo <ronirodr...@yahoo.com.br> Subject: Re: [delphi-br] Retornar Identity To: delphi-br@yahoogrupos.com.br Date: Friday, July 16, 2010, 7:54 PM entre utilizar sua técnica e stored procedures, eu fico com a segunda opção, não só pela velocidade, transparência e integridade quando se deixa esse tipo de controle a cargo do SGDB, como pelo fato de não haver necessidade de armazenar 8 bytes a mais para cada registro de cada tabela... mas claro q existem inúmeras maneiras de resolver o problema... ;) o/ Em 16/07/2010 09:30, Tupy... nambá escreveu: > Existe uma outra técnica. > > Crie na tabela master um campo tipo/hora e, ao inserir o registro, > insira nele a informação da data e hora da operação - que deve ser > previamente capturada e salva em uma variavel de memoria - e use um > select com clausula where para a data/hora da inserção, para obter a > chave primária. > > Eventualmente, se já houver, um campo tipo comentário pode ser usado > com esta finalidade, sendo posteriormente "limpo". > > Me deixe ao par, boa sorte, > Roberto Camargo. > > --- On Fri, 7/16/10, Roni Rodrigo <ronirodr...@yahoo.com.br > <mailto:ronirodrigo%40yahoo.com.br>> wrote: > > From: Roni Rodrigo <ronirodr...@yahoo.com.br > <mailto:ronirodrigo%40yahoo.com.br>> > Subject: Re: [delphi-br] Retornar Identity > To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Date: Friday, July 16, 2010, 1:58 AM > > > > 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] > > [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]