[firebase-br] Trigger

ibestvip zottissistemas em ibestvip.com.br
Seg Nov 6 11:34:51 -03 2006


Eu uso assim:
espero que esse exemplo te ajude.

SET TERM ^ ;


CREATE TRIGGER TG_SOMA_CREDITO FOR CREDITOS
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
if (inserting) then
execute procedure sp_soma_credito(new.contano) ;
else
if ((deleting) or (updating)) then
execute procedure sp_soma_credito(Old.contano) ;
end

SET TERM ; ^



CREATE PROCEDURE SP_SOMA_CREDITO (
    CONTA_NO INTEGER)
AS
BEGIN
  EXIT;
END^



SET TERM ^ ;

ALTER PROCEDURE SP_SOMA_CREDITO (
    CONTA_NO INTEGER)
AS
DECLARE VARIABLE TOTAL_PAGO NUMERIC(15,2);
begin
 SELECT SUM(Valor)
  FROM creditos
  WHERE CREDITOS.contano =:conta_no
  INTO :total_pago;

if (:total_pago is null) then Total_pago = 0;

  update ctarec
     set totalpago = :total_pago
     where contano = :conta_no;
 SUSPEND;
end
^


SET TERM ; ^





Mais detalhes sobre a lista de discussão lista