[firebase-br] Migração do Firebird 1.5 para 2.0

Jorge Henrique jorgehenrique em americamoveis.com
Qui Jan 25 17:29:26 -03 2007


Cara, isso aconteceu comigo tbm. Não tinha nenhum campo calculado no DDL 
da Tabela. O q acontecia era q tentava atualizar um campo numa trigger 
AFTER INSERT/UPDATE. O FB 2 não aceita isso, pelo menos comigo todas as 
triggers after insert/update deram problemas e consegui deixar tudo 
funcionando mudando para triggers BEFORE INSERT/UPDATE.

Exemplo: suponhamos que vc tenha uma trigger after insert na tabela 
clientes com esses campos:

ID Integer
NOME Varchar(40)
STATUS Varchar(1)

vc faz: Insert into clientes (id,nome,status) values (1,'TESTE',null) e 
q vc tenha na trigger after insert a seguinte instrução:

if (new.status is null) then new.status='X';

Nesse ponto ele vai te gerar esse erro de que a coluna é somente de leitura.

Quase me matei pra descobrir isso!!

Espero q ajude!

[]'s


Rubens Moraes escreveu:
> Olá pessoal, percebi q o problema não esta no INSERT em si, e sim em uma
> TRIGGER que executa essa instrução Sql:
>
> UPDATE CUPOM1 SET
> TOTAL_CUPOM = TOTAL_CUPOM + (NEW.QUANT * NEW.PR_CUPOM)
> WHERE CUPOM=NEW.CUPOM;
>
> Qual é o problema com essa instrução no Firebird 2, pois no 1.5 ele
> executava normalmente.
>
> Obrigado desde já
> ______________________________________________
> 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