[firebase-br] Recalculo de saldo (Trigger)

frguitar frguitar em bol.com.br
Ter Set 20 19:56:27 -03 2011


Olá pessoal.

Desculpem a minha ignorancia na pergunta.

Tenho uma trigger rodando apos um update onde ela recalcula o saldo caso o valor de credito ou debito seja alterado.
Porem eu gostaria que apos a linha atual seja alterada ela continue alterando as demais linhas onde o LANC_ID for maior que o editado.
Alguem poderia me dar um help por favor?

Segue a trigger:


CREATE OR ALTER trigger tgr_saldo_up for lanc
active after insert or update position 1
as
declare variable BANCOSALDO integer;
declare variable TOTCRED integer;
declare variable TOTDEB integer;
begin

select SALDO_INI from CADBANCO where CCONTA = new.CCONTA into :BANCOSALDO;
select sum (CREDITO) from LANC where LANC_ID <= new.LANC_ID into :TOTCRED;
select sum (DEBITO) from LANC where LANC_ID <= new.LANC_ID into :TOTDEB;

if (NEW.CREDITO <> OLD.CREDITO or NEW.DEBITO <> OLD.DEBITO ) then

update LANC
set SALDO = :BANCOSALDO + :TOTCRED - :TOTDEB
WHERE NEW.LANC_ID = LANC_ID;
end


Tentei jogar um while antes do If mas não estou conseguindo que funcione corretamente.
Só preciso que a trigger recalcule os saldos como se fosse uma rotina de recalculo.

Agradeço qualquer ajuda.




Mais detalhes sobre a lista de discussão lista