Re: [firebase-br] Ajuda sobre trigger. Como faço para uma trigger incrementa um generato

Giovani Benedetti Penha giovani em cooperval.com
Ter Jul 26 11:08:00 -03 2005


Ah, ou também dá pra fazer assim:

   DECLARE VARIABLE LIXO INTEGER;
   BEGIN
       LIXO = GEN_ID(ATUALIZAR_GEN, 1);
   END

[]´s
Giovani Benedetti Penha

Felipe Giotto escreveu:

> Olá, Carlos e Benedetti!!
>
> Depois de alguns testes com o meu ínfimo conhecimento sobre triggers, 
> consegui implementá-la, sem precisar criar campos adicionais!! Mais 
> uma vez, não sei se essa é a maneira correta de fazer isto, mas é 
> possível fazer o SELECT e jogar o resultado dentro de uma variável 
> local, a trigger ficaria assim:
>
> CREATE TRIGGER ATUALIZAR_AGENDA FOR AGENDA_CONSULTA
> ACTIVE BEFORE INSERT POSITION 0 AS
>    DECLARE VARIABLE LIXO INTEGER;
>    BEGIN
>        SELECT GEN_ID(ATUALIZAR_GEN, 1) FROM RDB$DATABASE INTO LIXO;
>    END
>
> Espero ter ajudado!
>
> Um grande abraço a todos, especialmente para o meu ex-colega de facul, 
> o Benedetti!!! :D
>
> Felipe Giotto ;-)
>
>
>
> Giovani Benedetti Penha escreveu:
>
>> Vixe Carlos, fiz uns testes aqui e constatei que ele não deixa usar 
>> select dentro da trigger. Pelo menos não envolvendo o gen_id...
>>
>> Acho que você vai ter que criar um campo "laranja" pra receber o 
>> valor do gen_id, incrementando assim o valor do generator:
>> new.laranja = gen_id(generator, 1)
>>
>> É um campo a mais na tabela, mas não vejo outra solução.
>>
>> []´s
>> Giovani Benedetti Penha
>>
>> Carlos Alberto dos santos escreveu:
>>
>>> o erro é esse
>>>
>>> Dynamic SQL Error
>>> SQL error code = -104
>>> Token unknown - line 5, char 45
>>> ;
>>> Statement: CREATE TRIGGER ATUALIZAR_AGENDA FOR AGENDA_CONSULTA
>>> ACTIVE BEFORE INSERT POSITION 0
>>> AS
>>> BEGIN
>>> SELECT GEN_ID(ATUALIZAR, 1) FROM RDB$DATABASE;
>>> END;
>>>
>>>> From: Giovani Benedetti Penha <giovani em cooperval.com>
>>>> Reply-To: FireBase <lista em firebase.com.br>
>>>> To: FireBase <lista em firebase.com.br>
>>>> Subject: Re: [firebase-br] Ajuda sobre trigger. Como faço para uma 
>>>> trigger incrementa um generato
>>>> Date: Tue, 26 Jul 2005 09:36:37 -0300
>>>>
>>>> Posta o erro. Fica mais fácil de detectar o que está acontecendo.
>>>>
>>>> []´s
>>>> Giovani Benedetti Penha
>>>>
>>>> Carlos Alberto dos santos escreveu:
>>>>
>>>>> Seria assim ex: Dá erro.
>>>>>
>>>>> SET TERM ^;
>>>>> CREATE TRIGGER ATUALIZAR_AGENDA FOR AGENDA_CONSULTA
>>>>> ACTIVE BEFORE INSERT POSITION 0
>>>>> AS
>>>>> BEGIN
>>>>> SELECT GEN_ID(ATUALIZAR, 1) FROM RDB$DATABASE;
>>>>> END;
>>>>> ^
>>>>>
>>>>>> From: Felipe Giotto <felipe em metasoftware.com.br>
>>>>>> Reply-To: FireBase <lista em firebase.com.br>
>>>>>> To: FireBase <lista em firebase.com.br>
>>>>>> Subject: Re: [firebase-br] Ajuda sobre trigger. Como faço para 
>>>>>> uma trigger incrementa um generato
>>>>>> Date: Tue, 26 Jul 2005 09:26:07 -0300
>>>>>>
>>>>>> Não sei se o SELECT na trigger é a melhor maneira de fazer isso, 
>>>>>> mas você pode tentar colocar isto dentro da trigger:
>>>>>>
>>>>>> SELECT GEN_ID(ATUALIZAR, 1) FROM RDB$DATABASE
>>>>>>
>>>>>> Espero ter ajudado,
>>>>>>
>>>>>> Felipe Giotto ;-)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Carlos Alberto dos santos escreveu:
>>>>>>
>>>>>>> Preciso que funcione com trigger. Obrigado!!!
>>>>>>>
>>>>>>>> From: Giovani Benedetti Penha <giovani em cooperval.com>
>>>>>>>> Reply-To: FireBase <lista em firebase.com.br>
>>>>>>>> To: FireBase <lista em firebase.com.br>
>>>>>>>> Subject: Re: [firebase-br] Ajuda sobre trigger. Como faço para 
>>>>>>>> uma trigger incrementa um generato
>>>>>>>> Date: Tue, 26 Jul 2005 09:01:25 -0300
>>>>>>>>
>>>>>>>> Tenta
>>>>>>>> select * from gen_id(atualizar,1)
>>>>>>>>
>>>>>>>> []´s
>>>>>>>> Giovani Benedetti Penha
>>>>>>>>
>>>>>>>> Carlos Alberto dos santos escreveu:
>>>>>>>>
>>>>>>>>> desse jeito da erro: Por Favor, ajudem
>>>>>>>>>
>>>>>>>>> SET TERM^;
>>>>>>>>> CREATE TRIGGER ATUALIZAR_AGENDA FOR CONSULTA_AGENDA
>>>>>>>>> ACTIVE BEFORE INSERT POSITION 0
>>>>>>>>> AS
>>>>>>>>> BEGIN
>>>>>>>>>  GEN_ID(ATUALIZAR,1);
>>>>>>>>> END;
>>>>>>>>> ^
>>>>>>>>>
>>>>>>>>>> From: "Carlos Alberto dos santos" <sdcarlosalberto em hotmail.com>
>>>>>>>>>> Reply-To: FireBase <lista em firebase.com.br>
>>>>>>>>>> To: lista em firebase.com.br
>>>>>>>>>> Subject: [firebase-br] Ajuda sobre trigger. Como faço para 
>>>>>>>>>> uma  trigger incrementa um generato
>>>>>>>>>> Date: Tue, 26 Jul 2005 08:47:34 -0300
>>>>>>>>>>
>>>>>>>>>> Ajuda sobre trigger. Como faço para  uma trigger incrementar 
>>>>>>>>>> um generator toda vez que disparar um insert ou update. Não 
>>>>>>>>>> preciso jogar o valor no campo codigo de uma tabela só 
>>>>>>>>>> preciso que o generator fique sendo incrementado. Obrigado 
>>>>>>>>>> amigos"""
>>>>>>>>>>
>>>>>>>>>> _________________________________________________________________ 
>>>>>>>>>>
>>>>>>>>>> Chegou o que faltava: MSN Acesso Grátis. Instale Já! 
>>>>>>>>>> http://www.msn.com.br/discador
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ______________________________________________
>>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _________________________________________________________________
>>>>>>>>> MSN Messenger: converse online com seus amigos .  
>>>>>>>>> http://messenger.msn.com.br
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ______________________________________________
>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> ______________________________________________
>>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _________________________________________________________________
>>>>>>> Chegou o que faltava: MSN Acesso Grátis. Instale Já! 
>>>>>>> http://www.msn.com.br/discador
>>>>>>>
>>>>>>>
>>>>>>> ______________________________________________
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> ______________________________________________
>>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _________________________________________________________________
>>>>> MSN Messenger: converse online com seus amigos .  
>>>>> http://messenger.msn.com.br
>>>>>
>>>>>
>>>>> ______________________________________________
>>>>> 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
>>>>>
>>>>>
>>>>
>>>> ______________________________________________
>>>> 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
>>>
>>>
>>>
>>>
>>> _________________________________________________________________
>>> MSN Messenger: converse online com seus amigos .  
>>> http://messenger.msn.com.br
>>>
>>>
>>> ______________________________________________
>>> 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
>>>
>>>
>>
>> ______________________________________________
>> 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
>>
>>
>
> ______________________________________________
> 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
>
>




Mais detalhes sobre a lista de discussão lista