[firebase-br] O que falta ?

Auriston auristonlopes em ig.com.br
Qui Fev 3 10:35:15 -03 2005


As açoes abaixo quando as executo não surgem efeito, será que falta algo no delphi ou no codigo abaixo ?
sds
auriston

Obs: DELPHI 7 / PALHETA INTERBASE / FIREBIRD 
/***
    Trigger "Before Update" para "Movprod"
***/
SET TERM ^;
CREATE TRIGGER MovprodBU FOR Movprod ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE ES Varchar(1);
DECLARE VARIABLE MOVIES Varchar(1);
DECLARE VARIABLE CANCELADA Varchar(1);
BEGIN
    IF ((ES = 'S') AND (MOVIES = 'S') AND (CANCELADA = 'N')) THEN
      UPDATE ESTOQUE SET 
        ESTOQUE = (ESTOQUE + OLD.SAIDAS) - NEW.SAIDAS
        WHERE CODIGO = NEW.COD_MAT;
    ELSE IF ((ES = 'E') AND (MOVIES = 'S') AND (CANCELADA = 'N')) THEN
      UPDATE ESTOQUE SET
        ESTOQUE = (ESTOQUE - OLD.ENTRADAS) + NEW.ENTRADAS
        WHERE CODIGO = NEW.COD_MAT;
END^
SET TERM ;^

/***
    Trigger "Before Delete" para "Movprod"
***/
SET TERM ^;
CREATE TRIGGER MovprodBD FOR Movprod ACTIVE BEFORE DELETE POSITION 0
AS
DECLARE VARIABLE ES Varchar(1);
DECLARE VARIABLE MOVIES Varchar(1);
DECLARE VARIABLE CANCELADA Varchar(1);
BEGIN
    IF ((ES = 'S') AND (MOVIES = 'S') AND (CANCELADA = 'N')) THEN
      UPDATE ESTOQUE SET 
        ESTOQUE = ESTOQUE + OLD.SAIDAS
        WHERE CODIGO = OLD.COD_MAT;
    ELSE IF ((ES = 'E') AND (MOVIES = 'S') AND (CANCELADA = 'N')) THEN
      UPDATE ESTOQUE SET
        ESTOQUE = ESTOQUE - OLD.ENTRADAS
        WHERE CODIGO = OLD.COD_MAT;
END^
SET TERM ;^




Mais detalhes sobre a lista de discussão lista