[firebase-br] Ajudem-me por favor

Mário Reis mariodosreyx em gmail.com
Sex Fev 5 22:33:51 -03 2010


Multiple rows Claro V/tem de fazer um Group By d.id_cliente

No dia 5 de Fevereiro de 2010 22:28, Jose Luiz de Medeiros <
joseluiz em medeirosinfor.com> 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
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
C/Melhores cumprimentos
Mário Agostinho Reis

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.



Mais detalhes sobre a lista de discussão lista