[firebase-br] Ajuda para montar um SP que calcule saldo diário..

Fausto fausto.s.a em uol.com.br
Qua Out 25 14:04:03 -03 2006


Boa tarde gente..
Agora estou apelando mesmo..
Estou precisando de uma ajuda para escrever uma stored procedure 
retornável que calcule o saldo diário,tal qual extrato bancário.
Tenho a tabela CAIXA com os seguintes campos
 CAIDAT  DATE NOT NULL  : Data de lançamento
 CAILAN  INTEGER NOT NULL : PK AutoIncremento via generator
 CAIHIS    VARCHAR(40) : Histórico      
 CAIVAL  NUMERIC(12,2): Valor
 CAITIP  CHAR(1):Informa se é Débito ou Crédito (D/C)
Preciso desenvolver uma procedure que me retorne estes campos da tabela 
CAIXA, mais uma terceira coluna que seria o calculo do saldo atual, 
entre duas datas.
De tal forma que o resultado fosse este:

      Data       Lan    Valor     Saldo
   01/10/2005    87    250,00    250,00
   01/10/2005    88    200,00    450,00
   01/10/2005    89    200,00    650,00
   01/10/2005    99    -435,00   215,00
   04/10/2005    91    300,00    515,00
Observem que a coluna saldo é calculada linha a linha..No paradox eu utilizava uma Query com a seguinte instrução:
SELECT CAIDAT, CAILAN, CAIVAL, sum (DISTINCT CAIVAL)
FROM CAIXA
GROUP BY CAIDAT,CAILAN,CAIVAL

Mas os amigos Eduardo Jedliczka e Kleber Caneva, me responderam que no FIREBIRD a clausula distinct utiliza toda uma linha e não somente para função SUM.
Portanto se alguém puder me ajudar com a construção desta SP, ou tenha algo já pronto e puder me ceder ficarei eternamente grato.

Fausto








Mais detalhes sobre a lista de discussão lista