[firebase-br] Attempted update of a read-only column

Alexandre Sousa dave.malkavian em gmail.com
Sex Fev 27 16:28:20 -03 2009


Confira o release notes do firebird 2.1, pois foi alterado o escopo do old e 
do new nas triggers. Veja se sua trigger não se enquadra em alguma dessa 
mudanças.

Att.
Alexandre Sousa
----- Original Message ----- 
From: "Diego Tiemann" <diegotiemann em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, February 27, 2009 4:05 PM
Subject: Re: [firebase-br] Attempted update of a read-only column


não é no delphi isso é direto no firebird

2009/2/27 Zottis <zottissistemas em brturbo.com.br>

> não ta sendo colocado algum valor em campo Calculado?
> no delphi quando coloco nas instruções do Dataset(Insert, Update) e marco
> uma coluna
> que é calculado da esse erro.
>
> espero que ajude.
>
> Zottis(TeamFB Users)
>
> Zottis Sistemas - 2008 Ano XI
> Programação Delphi/PHP/Firebird/MySQL
>
> "Um homem só tem o direito de olhar
>  a um outro de cima para baixo, quando
>  vai ajuda-lo a levantar-se".
>                  Gabriel Garcia Marquez
> ----- Original Message ----- From: "Diego Tiemann" <diegotiemann em gmail.com
> >
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, February 27, 2009 9:25 AM
> Subject: [firebase-br] Attempted update of a read-only column
>
>
>
> Pesquisei bastante sobre este erro no link abaixo esta a explicação, mas
> ainda não encontrei a solução
>
> http://mail.firebase.com.br/pipermail/lista_firebase.com.br/2007-April/039634.html
>
>
> O meu caso é o seguinte:
>
> na  man_aborto tenho a seguintes triggers:
>
> CREATE OR ALTER trigger man_aborto_ai0 for man_aborto
> active after insert position 0
> AS
> begin
>   /*Insere um registro na tabela MAN_MOV_SUINO /
>   INSERT INTO MAN_MOV_ANIMAL (ID_GRANJA,  CICLO, ID_ESTADO_SUINO, TIPO,
> DATA, ID_RELACIONADO, QTDE)
>    VALUES (NEW.id_granja,  new.ciclo,  2, 'ABO',  new.data,
> new.id_aborto,  -1);
> end;
>
> já na tabela MAN_MOV_SUINO tenho a seguinte trigger:
>
> CREATE OR ALTER trigger man_mov_animal_ai0 for man_mov_animal
> inactive after insert position 0
> AS
> begin
>  /* Atualiza o campo ID_MOV_ANIMAL da tabela MAN_ABORTO */
>  if (new.tipo='ABO') then
>  begin
>     /*Atualiza o ID_MOV_SUINO da tabela MAN_ABORTO*/
>      update man_aborto a set a.id_mov_animal=new.id_mov_animal where
> a.id_aborto=new.id_relacionado;
>  end
> end
>
> O erro acontece porque a segunda trigger dá um update na TABELA 
> MAN_ABORTO,
> esta que gerou o insert na MAN_MOV_SUINO.
>
> Isso não acontecia na versão 2.0 mas agora com a versão 2.1.1.17910 tá
> acontecendo.
> ______________________________________________
> 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
>
______________________________________________
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 





Mais detalhes sobre a lista de discussão lista