[firebase-br] Como eu uso uma SP... (Select com "as" de "as")

Euler Jr. euler em siginformatica.com.br
Sex Jul 15 10:05:59 -03 2005


Via ISQL/DSQL:
EXECUTE PROCEDURE titulosaldos(10,'A','1');

Via DBExpress:
utilize TSQLStoredProc. Na propriedade Params vc informa os parâmetros 
in e out. Neste caso, como a SP retorna um cursor de dados vc deve usar 
o método Open, ou invés de ExecProc.


[]s
Euler Jr.

dvdmengarda em hotmail.com escreveu:
> Pessoar...
> 
> Criei uma SP conforme o Euler Jr. indicou. Parece que ficou boa. O único 
> problema agora é: Como eu uso esse trem?
> 
> A SP deve retornar o total liquidado e o saldo em aberto das parcelas de 
> um titulo.
> 
> ***********
> create procedure titulosaldos (
>    total_titulo numeric(12,2),
>    situacao_titulo varchar(1),
>    titulo_origem varchar(9))
> returns (
>    saldoliquidado numeric(12,2),
>    saldotitulo numeric(12,2))
> begin
>  if (situacao_titulo = '6') then select sum(valorliquidado) from ctarec 
> where tituloorigem = :titulo_origem into saldoliquidado;
>  if (situacao_titulo = '7') then saldoliquidado = total_titulo;
>  if (saldoliquidado is null) then saldoliquidado = 0.00;
>  saldotitulo = total_titulo - saldoliquidado;
>  suspend;
> end
> 
> ***********
> 
> 
> 
> como ficaria o select para utilizando essa SP?
> 
> 
> 
> select v.*, (select sum(valorliquidado) from ctarec where 
> tituloorigem=v.tituloorigem) as totalliquidado, (select sum(valorparcela 
> - valorliquidado) from ctarec where tituloorigem=v.tituloorigem) as 
> saldotitulo from titrec v
> 
> 
> Grato.
> 
> 
> David
> 
> 
> 
> 
> 
> ----- Original Message ----- From: "Euler Jr." 
> <euler em siginformatica.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Thursday, July 14, 2005 3:04 PM
> Subject: Re: [firebase-br] Select com "as" de "as"...
> 
> 
>> Use SP. O alias TOTALPAGO não é considerado um obj. pelo FB.
>>
>>
>> []s
>> Euler Jr.
>>
>> dvdmengarda em hotmail.com escreveu:
>>
>>> Olá pessoal!
>>>
>>> É possível num select criar uma coluna com outra que acabou de ser 
>>> criada? Bom... abaixo tento explicar o que é
>>>
>>> para não processar duas vezes a tabela DUPLICATAS para achar o valor 
>>> pago e o saldo das parcelas, em vez de usar:
>>>
>>> select V.*, (select sum(valorpago) from DUPLICATAS where 
>>> NUMTIT=V.NUMTIT) as TOTALPAGO, (select sum(valorparcela - valorpago) 
>>> from DUPLICATAS where NUMTIT=V.NUMTIT) as SALDOFATURA from VENDAS V
>>>
>>> na minha brilhante lógica, tentei usar:
>>>
>>> select V.*, (select sum(valorpago) from DUPLICATAS where 
>>> NUMTIT=V.NUMTIT) as TOTALPAGO, (V.TOTALFATURA - TOTALPAGO) as 
>>> SALDOFATURA from VENDAS V
>>>
>>> e obtive um insucesso...
>>>
>>> Alguém tem alguma dica para resolver isso?
>>>
>>> Valeu.
>>>
>>>
>>> David Mengarda
>>
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
> 






Mais detalhes sobre a lista de discussão lista