[firebase-br] Incrementar Generator na Trigger After Insert

-=SchiavoR=- schiavor em gmail.com
Ter Dez 19 12:57:55 -03 2006


Obrigado aos que responderam,

Qdo eu mandei a mensagem, esqueci de mencionar que eu já sei utilizar, 
inclusive já utilizo em alguns sistemas o incremento do gerador na 
trigger Before Insert, porém quando utilizado o incremento neste 
contexto se houver alguma exceção no momento da inclusão, o código que 
foi inserido será perdido devido ao rollback.
Estou querendo discutir os problemas, vantagens e desvantagens de fazer 
este incremento no evento After Insert, portanto no exemplo que enviei 
todos os novos registros são inseridos com código 0, e após a efetiva 
gravação no banco o código é atualizado com o valor correto, e o gerador 
incrementado.

[ ]'s
Rodrigo Schiavo

Rodrigo A. de Freitas escreveu:
> Rodrigo,
>
> Uma melhor implementação para isso seria no evento Before Insert:
>
> CREATE TRIGGER CLIENTES_BI FOR CLIENTES
> ACTIVE BEFORE INSERT POSITION 0
> AS
> BEGIN
>     IF NEW.CODIGO = 0 THEN
>         NEW.CODIGO = GEN_ID(GEN_CLIENTES_ID,1);
> END
>
> []'s
>
> Rodrigo A. de Freitas
> Análise & Desenvolvimento
>
> Soluções & Informática
> www.solucoeseinformatica.com.br
>
>
>   
>> Galera, blz?
>>
>> Estou pensando em fazer essa Trigger no evento After Insert, o custo
>> dela seria muito grande para o banco?
>>
>> CREATE TRIGGER CLIENTES_AI FOR CLIENTES
>> ACTIVE AFTER INSERT POSITION 0
>> AS
>> BEGIN
>>   UPDATE CLIENTES SET CODIGO = GEN_ID(GEN_CLIENTES_ID,1) WHERE CODIGO = 0;
>> END
>>
>> Att.
>> Rodrigo Schiavo
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>>
>>
>>     
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>
>   




Mais detalhes sobre a lista de discussão lista