Re: [firebase-br] Ajuda para montar um SP que calcule saldo diário..
Fernando Reis Guimarães
fernandobhz em gmail.com
Qua Out 25 15:39:51 -03 2006
create procedure sp_saldo return (data, lan, valor, saldo)
as
begin
for select data, lan, valor from caixa do
begin
select sum(saldo) from caixa where lan < lan into :saldo;
end
suspend;
end;
Em 25/10/06, Fausto <fausto.s.a em uol.com.br> escreveu:
>
> 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
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
Atenciosamente;
Fernando.
Mais detalhes sobre a lista de discussão lista