[firebase-br] Problema ao migrar para FB 2.1.2
    Andrei Luís 
    compuvale.software em gmail.com
       
    Qua Jun 17 15:21:46 -03 2009
    
    
  
Boa tarde,
Estou começando a migrar minhas bases pra FB 2.1.2 e já na primeira estou
com problemas.
Lendo o artigo 'Migrando um bd para o FB 2.1' que está no site, resolvi
adotar o método B. Bem, extraí o metadata no FB 1.5.5, fui rodar no IBExpert
sobre o FB 2.1.2, e pra minha surpresa recebi msg de erro na criação de três
triggers simples, que antes rodavam perfeitamente:
SET TERM ^ ;
/* Trigger: NOTASFISCAISITENS_AD0 */
CREATE TRIGGER NOTASFISCAISITENS_AD0 FOR NOTASFISCAISITENS
ACTIVE AFTER DELETE POSITION 0
AS
declare variable wsequencia integer;
declare variable wregistro_id integer;
begin
   wsequencia = 1;
   for select registro_id from notasFiscaisItens where
notafiscal_id=old.notafiscal_id order by sequencia into wregistro_id do
      begin
         update notasFiscaisItens set sequencia = :wsequencia where
registro_id=:wregistro_id;
         wsequencia = wsequencia+1;
      end
   delete from pedidosItensFaturados
         where notafiscalitem_id=notasFiscaisItens.registro_id;
*********** aqui ocorre erro dizendo que a coluna registro_id não existe
   if (old.pedidoitem_id is null) then
      begin
         delete from produtoshist where
produtoshist.nota_fiscal_item_id=old.registro_id;
      end
end
^
/* Trigger: NOTASFISCAIS_BD0 */
CREATE TRIGGER NOTASFISCAIS_BD0 FOR NOTASFISCAIS
ACTIVE BEFORE DELETE POSITION 0
as
begin
   delete from notasfiscaisitens
      where notasfiscaisitens.notafiscal_id=notasfiscais.registro_id;
*********** aqui ocorre erro dizendo que a coluna registro_id não existe
end
^
/* Trigger: ORCAMENTOS_BD0 */
CREATE TRIGGER ORCAMENTOS_BD0 FOR ORCAMENTOS
ACTIVE BEFORE DELETE POSITION 0
as
begin
   delete from orcamentositens
      where orcamentositens.orcamento_id=orcamentos.registro_id;
   delete from pedidositens
      where pedidositens.orcamento_id=orcamentos.registro_id;   ***********
aqui ocorre erro dizendo que a coluna registro_id não existe
end
^
SET TERM ; ^
Bem, pelo que vi, se trocar o nome da tabela que referencia o campo pela
variável de contexto old, o código é aceito.
Pergunta 1: essa é uma característica é nova no FB 2.x?
Pergunta 2: pelo que entendo isso não vai mudar a funcionalidade das
triggers, correto?
-- 
[]s
Andrei
    
    
Mais detalhes sobre a lista de discussão lista