[firebase-br] Triggers Universais Como Usá-las ?

Rodrigo Trevelin rodrigotrevelin em gmail.com
Sex Ago 5 21:32:44 -03 2005


Boa noite Amigos, sou novo aqui na lista, mas não sou muito avançado em
FireBird só uso ele a mais ou menos 10 meses, e estou com uma dúvida
estou querendo optimizar o banco de dados que eu tenho em Fire
e estou tentando a usar as tais "Triggers Universais" aqui vai um exemplo.

CREATE TRIGGER VENDAS_BIUD FOR VENDAS
 ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 0
 AS
 BEGIN
     IF (INSERTING) THEN
         UPDATE PRODUTOS
         SET ESTOQUE = ESTOQUE - NEW.QUANT
         WHERE COD_PRODUTO = NEW.COD_PRODUTO;
     ELSE
        IF (DELETING) THEN
        UPDATE PRODUTOS
        SET ESTOQUE = ESTOQUE + VENDAS.QUANT
        WHERE COD_PRODUTO = VENDAS.COD_PRODUTO;
    ELSE
        IF (UPDATING) THEN BEGIN
        UPDATE PRODUTOS
        SET ESTOQUE = ESTOQUE + OLD.QUANT
        WHERE COD_PRODUTO = OLD.COD_PRODUTO;
 
        UPDATE PRODUTOS
        SET ESTOQUE = ESTOQUE - NEW.QUANT
        WHERE COD_PRODUTO = NEW.COD_PRODUTO;
    END
 END

Estou tentando implementar essas trigers no banco de dados
mas o Ib Expert Versão 07/06/2005  com FireBird 1.5
e dá erro na linha seguinte linha

ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 0

bem no "OR" depois do INSERT gostaria de saber como fazer
para conseguir implementar isso no meu banco de dados, desde
já agradeço pela ajuda de todos !

Rodrigo Trevelin Palma
Email: rodrigotrevelin em gmail.com




Mais detalhes sobre a lista de discussão lista