[firebase-br] Ajudem-me por favor

RDA Delphi rdadelphi em gmail.com
Sex Fev 5 21:46:41 -03 2010


José, por que não coloca um título próximo a sua pergunta, isso é 
anti-etico sabia? Na outra lista que frequento o povo que coloca títulos 
no assunto como o seu não é respondido (todo mundo sabe e não responde), 
e os moderadores enviam uma mensagem informando que ele será excluído se 
continuar com essa abominação de colocar assuntos fora do contexto.
Desculpem todos da lista, mas se alguém lê um assunto e sabe da resposta 
vai direto e se não sabe nem perde tempo... É só um comentário...


Em 5/2/2010 20:28, Jose Luiz de Medeiros escreveu:
> Colegas..
>
>
>
>
>
> Me ajudem por favor, ja tentei varias dicas dos colegas e não funciona.
>
>
>
> Preciso saber a situação de todos os meus clientes de uma vez, fiz essa
> procedure com a ajuda dos colegas:
>
>
>
> CREATE PROCEDURE SP_CALCULACD (
>
>      id integer)
>
> returns (
>
>      apagar numeric(12,2),
>
>      areceber numeric(12,2),
>
>      situacao numeric(12,2))
>
> as
>
> declare variable debito numeric(12,2);
>
> declare variable credito numeric(12,2);
>
> begin
>
>
>
> for select sum(d.valor_parcela)
>
>     from contasreceber d
>
>     where d.id_cliente = :id
>
>     into :debito
>
> do
>
> begin
>
> apagar = :debito;
>
> end
>
> //aqui somo os créditos de cada cliente
>
> for select sum(c.valor)
>
>     from caixa c
>
>     where c.id_cliente = :id
>
>     into :credito
>
> do
>
> begin
>
> areceber = :credito;
>
> end
>
>
>
> apagar = :debito + :debito2;
>
> areceber = :credito;
>
> situacao = areceber - apagar;
>
> suspend;
>
> end
>
>
>
>
>
> Se eu executar assim funciona 100%:
>
> EXECUTE PROCEDURE SP_CALCULACD(100);
>
> Tenho a situação do cliente ID =100.
>
>
>
> Mas o que eu quero e de todos de uma vez, tento assim:
>
> EXECUTE PROCEDURE SP_CALCULACD(SELECT ID FROM CLIENTES);
>
>
>
> TENHO ESSE ERRO:
>
> multiple rows in singleton select
>
>
>
> Alguem por favor pode me ajudar?
>
> Uso firebird 2.1
>
>
>
>
>
> Grato:
>
> Jose Luiz
>
>    





Mais detalhes sobre a lista de discussão lista