[firebase-br] Erro ao criar Trigger

Willian Jhonnes L. dos Santos willianjhonnes em gmail.com
Seg Fev 1 16:19:30 -03 2010


Boa tarde a todos.

Estou enfrentando um pequeno problema para cria uma trigger bem simples 
para contornar a falta de integridade na exclusao de chaves 
estrangeiras. O firebird me retorna este erro [1] ao tentar criar a 
trigger, mas o campo OLD.UFE_SIGLA existe na tabela.

Em [2] segue o script de criaçao da tabela.

Alguem tem alguma ideia de onde esta o problema? Uso Firebird 2.5.0.25784.

[]'s

[1]------------------------------------------------
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
OLD.UFE_SIGLA.
At line 6, column 11.
[/1]-----------------------------------------------

[2]------------------------------------------------
CREATE TABLE UF (
   UFE_SIGLA D_UF NOT NULL,
   UFE_NOME "D_VARCHAR(32)" NOT NULL);


ALTER TABLE UF ADD CONSTRAINT PK_UF PRIMARY KEY (UFE_SIGLA);

CREATE TRIGGER UF_BI0 FOR UF
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
   NEW.UFE_SIGLA = UPPER(NEW.UFE_SIGLA);
   NEW.UFE_NOME = UPPER(NEW.UFE_NOME);
END;

CREATE TRIGGER UF_BD0 FOR UF
ACTIVE BEFORE DELETE
POSITION 0
AS
BEGIN
   IF (OLD.UFE_SIGLA IN (SELECT DISTINCT MUN_UF
                           FROM MUNICIPIO)) THEN
     EXCEPTION EXC_DEL_UF;
END;
[/2]-----------------------------------------------

-- 
---------------------------------------------------
Att.:
Willian Jhonnes L. dos Santos
Analista/Desenvolvedor Object/Free Pascal
willianjhonnes em gmail.com
---------------------------------------------------
Seja livre. Use Linux.
Grupo de Usuários GNU/Linux de São José dos Pinhais
Linux user number 449753
---------------------------------------------------
Powered by Slackware Linux 13.0
Kernel 2.6.32.6-i686-core2quad
---------------------------------------------------




Mais detalhes sobre a lista de discussão lista