[firebase-br] RES: Erro migração FB 1.5 para 2.1 trigger

andre conrado acf.andre em gmail.com
Sex Abr 8 12:12:59 -03 2011


Amigo, já passei por este mesmo problema quanto migrei de FB 1.5 para 2.1.

No meu caso está mensagem ocorria porque eu estava alterando o mesmo
campo via INSERT/UPDATE e tratando dentro da TRIGGER o que gerava esta
mensagem.

Ex.: Numa tabela a chave primária era gerada dentro do aplicativo (ID
= GEN(...)), mas em outro lugar do sistema eu não informava a ID, a
qual era atualizada dentro da TRIGGER da seguinte forma:

IF (NEW.ID = NULL) THEN
BEGIN
    NEW.ID = GEN(...)
END

No FB 1.5 isto funcionava perfeitamente, mas no FB 2.1 resultava esta mensagem.

Espero que esta caso lhe ajude!!!

Um abraço,
Conrado.


2011/4/7, Cyber Guido <cyberguido em gmail.com>:
>   Danilo,
>
> Tente
>
> CREATE OR ALTER trigger t01_clientes_au0 for t01_clientes
> active before update position 1
> AS
>    declare variable teste01 VARCHAR(1);
>    declare variable teste02 INTEGER;
>    declare variable teste03 INTEGER;
>
> begin
>
>    if (NEW.ativo = 'I') then
>    BEGIN
>
>      SELECT first 1
>        T21.teste01,
>        T21.teste02,
>        T21.teste03
>      FROM
>        t21_venda t21
>      WHERE
>        T21.cd_cliente = NEW.cd_cliente
>      INTO
>        :teste01,
>        :teste02,
>        :teste03 ;
>
>      UPDATE t21_venda t21
>      SET
>        T21.teste01_hist = :teste01,
>        T21.teste02_HIST = :teste02,
>        t21.teste03_hist = :teste03
>      WHERE
>        T21.cd_cliente = old.cd_cliente;
>
>    END
>
> end
>
> Se não funcionar, nos passe um script de criação da tabela t21_venda com
> a definição dos campos.
>
> --
> Até,
> Carlos
>
>
>
> On 07/04/2011 14:09, Danilo wrote:
>> Olá ..
>>
>> Já testei com e sem os dois pontos também amigo
>>
>> Danilo
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>


-- 
Um Abraço,
André Conrado.

055 21 9176-7013 - Claro
055 21 9896-5449 - Vivo (apenas mensagens SMS)




Mais detalhes sobre a lista de discussão lista