[firebase-br] Procedure

Jose Luiz de Medeiros joseluiz em medeirosinfor.com
Sex Fev 5 13:22:05 -03 2010


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