[firebase-br] Aos interessados: Omelhor Autoincrementosequencial

Andrei Luís compuvale.software em gmail.com
Qui Abr 6 09:17:57 -03 2006


Uma solução que se usava bastante na época do Clipper, era de uma tabela a
parte para guardar a sequência. Ex.:

Tabela     Campo   Sequencia
Clientes    ID            1
Produtos  ID            4
Pedidos   ID             10
...

Acho que saiu na Clube Delphi ou na SQL Magazine uns meses atras uma solução
parecida com essa, o título era algo como: "Campos auto-incremento para
qualquer BD". O colunista usou Firebird para mostrar os exemplos.

[]
Andrei


Em 06/04/06, Luis Asensio - Control/P Sistemas <luis em controlp.com.br>
escreveu:
>
> Boa dia a todos!!!
>
>        Essa semana fiz um teste comparando a eficiencia do auto-incremento
> das duas formas descritas. Uma realizando um MAX na tabela e outra usando
> a
> Generator. O teste foi bem simples: Rodei uma aplicatico no qual me inflou
> uma determinada tabela em 100.000 e inserir um cronometro interno para
> poder
> comparar o tempo. O resultado foi uma diferença de 3:00 min, a mais para o
> Trigger com o MAX. O Generator com muitos registros é mais rápido acima de
> 20.000 registros. Concordo que para um sequencial integro o MAX minimiza o
> problema.
>
>
> Abraços
>
>
> Luis Asensio
> Control/P Sistemas
> Setor de Desenvolvimento
> luis em controlp.com.br
> http://www.controlp.com.br
>
> -----Original Message-----
> From: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> On Behalf Of Listas - VirtualComp
> Sent: quarta-feira, 5 de abril de 2006 18:12
> To: Carlos H. Cantu; FireBase
> Subject: Re: [firebase-br] Aos interessados: Omelhor
> Autoincrementosequencial
>
> CREATE TRIGGER GER_COD_CLIENTES FOR CLIENTES ACTIVE BEFORE INSERT POSITION
> 0
> AS declare variable cod integer; begin  select max(codigo_cli)  from
> clientes  where clientes.empresa_cli = new.empresa_cli  into :cod;  if
> (cod
> is null) then
>     cod = 0;
> new.codigo_cli = cod + 1;
> end
>
>
> com essa trigger eu tenho 3..4 empresas cadastradas cada empresa tem uma
> sequencia clientes e nunca da problema...
>
>



Mais detalhes sobre a lista de discussão lista