Re: [firebase-br] Alguém pode me dar uma mão c/ FOR Execute Statement
José Filho (UOL)
jfilho.bg em uol.com.br
Seg Jan 2 17:57:35 -03 2006
Obrigado a você também, Ton. Mas, o que eu estava tentando fazer era
exatamento a dica que o jony me passou. Fico agradecido pela ajuda.
[ ]'s
José Filho
Barra do Garças-MT
----- Original Message -----
From: "Ton" <hevertonc em hotmail.com>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Monday, January 02, 2006 3:00 PM
Subject: RES: [firebase-br] Alguém pode me dar uma mão c/ FOR Execute
Statement
Olá...
Pelo que entendi de sua procedure, vc está usando Execute Statement só
por causa da linha do produtor, é isso mesmo?
Se for, vc nem precisa usar isso o execute statement, faz assim que
funciona e resolve o seu problema:
SELECT RL.LEI_PRODUTOR,
P.PRO_NOME,
P.PRO_CNPJCPF,
P.PRO_COTALITRO,
P.PRO_COTAPERC,
P.PRO_BONIFICAVLR,
P.PRO_BONIFICAPERC,
P.PRO_TANQUE,
P.PRO_TAXATANQUE,
P.PRO_FRETEVALOR,
P.PRO_FRETEPERC,
RL.LEI_LINHA,
L.LIN_CARRETEIRO,
L.LIN_PAGAFRETE,
SUM(RL.LEI_BOM),
SUM(RL.LEI_ACIDO
FROM RECLEITE RL LEFT
JOIN PRODUTORES P
ON (P.PRO_CODIGO = RL.LEI_PRODUTOR) LEFT
JOIN LINHAS L
ON (L.LIN_CODIGO = RL.LEI_LINHA)
WHERE EXTRACT (MONTH FROM RL.LEI_DATA) = :MES
AND EXTRACT (YEAR FROM RL.LEI_DATA) = :ANO
/* Esta linha verifica se o produtor é igual ao parâmetro ou o parâmetro é
nulo, caso o parâmetro seja nulo, ele trás todos os produtores */
>> AND (RL.LEI_PRODUTOR = :PRODUTOR OR :PRODUTOR IS NULL) <<
GROUP BY RL.LEI_PRODUTOR,
P.PRO_NOME,
P.PRO_CNPJCPF,
P.PRO_COTALITRO,
P.PRO_COTAPERC,
P.PRO_BONIFICAVLR,
P.PRO_BONIFICAPERC,
P.PRO_TANQUE,
P.PRO_TAXATANQUE,
P.PRO_FRETEVALOR,
P.PRO_FRETEPERC,
RL.LEI_LINHA,
L.LIN_CARRETEIRO,
L.LIN_PAGAFRETE
ORDER BY L.LIN_CARRETEIRO,
P.PRO_NOME';
INTO :LEI_PRODUTOR,
:PRO_NOME,
:PRO_CNPJCPF,
:PRO_COTALITRO,
:PRO_COTAPERC,
:PRO_BONIFICAVLR,
:PRO_BONIFICAPERC,
:PRO_TANQUE,
:PRO_TAXATANQUE,
:PRO_FRETEVALOR,
:PRO_FRETEPERC,
:LEI_LINHA,
:LIN_CARRETEIRO,
:LIN_PAGAFRETE,
:LEI_BOM,
:LEI_ACIDO
Isso fica bem simples e funciona bem legal.
Abraços...
Ton
Analista de Sistemas
DotCom Informática
"A informação não é um produto,
mas sim a matéria prima." (Ton)
---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 0601-0, 02/01/2006
Tested on: 2/1/2006 16:57:36
avast! - copyright (c) 1988-2005 ALWIL Software.
http://www.avast.com
Mais detalhes sobre a lista de discussão lista