[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