[firebase-br] Aos interessados: O melhor Autoincrementosequencial

Francisco Thiago jeandeadlucky em yahoo.com.br
Qua Abr 5 16:44:33 -03 2006


Pois é... Sequência?!?!!? Puts, difícil hein?! pra quê você gostaria de uma 
sequência?

Em todo caso, o amigo Bruno Lichot (meu padrinho rsrs) escreveu um 
procedimento que faz o sequenciamento.

Em ambiente onde existe muita concorrência, você pode ter problemas com 
chaves duplicadas utilizando o seu esquema de sequencia.

O ideal é gravar os números e nomes do generator que forem descartados em 
uma tabela; pesquisar o valor nela antes de incrementar o generator, apagar 
o campo (isso, claro em outra transacao) e aproveitar o valor. Caso não 
encontre, ou dê algum tipo de erro (tipo DeadLock, ou registro nao 
encontrado), vc incrementa o generator. Este, na minha opinião, é o melhor 
jeito... Que devido ao trabalho de implementar - além do custo de 
performance - prefiro usar este recurso apenas quando é REALMENTE NECESSÁRIO 
a sequenciar um campo.


[]'s


Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: thiago em enterplug.com.br
http://enterplug.no-ip.com/sistema_ctrc/

----- Original Message ----- 
From: "Bruno" <bvnogueira em gmail.com>
To: <lista em firebase.com.br>
Sent: Wednesday, April 05, 2006 4:31 PM
Subject: Re: [firebase-br] Aos interessados: O melhor 
Autoincrementosequencial


> Bom, claro q em caso de de aplicação Cliente/servidor vale a pena o
> GENERATOR.
>
> Só que eu naum sei tem jeito de mudar isso, mas pelo q sei o generator se
> você ADICIONA ele gera um codigo. Aí se você cancela e ADICIONA de novo, 
> ele
> gera o próximo código e assim não fica na sequência!!!!
>
> _____________________________________________
>
> Acho que fica melhor usando generator, afinal, é pra isso que eles servem.
>
> CREATE GENERATOR <GENERATOR>;
>
> CREATE TRIGGER <TRIGGER> FOR <TABELA>
> ACTIVE BEFORE INSERT POSITION 0 AS
> BEGIN
>    NEW.ID = GEN_ID(<GENERATOR>,1);
> END
>
>
>
>
>


--------------------------------------------------------------------------------


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 


		
_______________________________________________________ 
Novo Yahoo! Messenger com voz: Instale agora e faça ligações de graça. 
http://br.messenger.yahoo.com/





Mais detalhes sobre a lista de discussão lista