Hola.
En Firebird es muy sencillo de hacer. Simplemente debes crear un procedimiento almacenado de este estilo :
Código:
SET TERM ^ ;
CREATE PROCEDURE BALANCE
RETURNS (
DEBE NUMERIC(18,4),
HABER NUMERIC(18,4),
SALDO NUMERIC(18,4))
AS
begin
SALDO = 0;
for select DEBE, HABER
from TABLA
into :DEBE, :HABER
do begin
SALDO = SALDO + coalesce(HABER, 0) - coalesce(DEBE, 0);
suspend;
end
end
^
SET TERM ; ^
En la aplicación solo tienes que hacer una consulta del tipo :
select * from BALANCE
Saludos.