[firebase-br] SQL Dinâmico
Eliomar
eliomar em promediconet.com.br
Sáb Mar 19 15:32:41 -03 2005
ok... como outro falou na lista...
vc tem que colocar a data como sendo
um campo varchar e colocar as ' ' por exemplo
create procedure SP_SALDO_PRODUTO(
CODMAT VARCHAR(12),
DATA_INICIAL VARCHAR(12),
DATA_FINAL VARCHAR(12))
returns (
rCODMAT VARCHAR(12),
rSALDO NUMERIC(10,2))
as
declare variable vSQL VARCHAR(200);
declare variable vTOTENTRADAS NUMERIC(10,2);
declare variable vTOTSAIDAS NUMERIC(10,2);
begin
vSQL='Select CODMAT,SUM(ENTRADA),SUM(SAIDA) From TB_ESTOQUE';
vSQL=vSQL||' Where (DATA BETWEEN '||:DATA_INICIAL||' and '||:DATA_FINAL||')';
if (Not CODMAT IS NULL) then
vSQL=vSQL||' and CODMAT='||:CODMAT;
vSQL=vSQL||' Group By CODMAT';
For Execute Statement :vSQL
Into rCODMAT,vTOTENTRADAS,vTOTSAIDAS
Do
Begin
rSALDO=vTOTENTRADAS-vTOTSAIDAS;
suspend;
End
end
ai fazer a chamada assim:
SELECT * FROM SP_SALDO_PRODUTO('0252-0017-8','01.01.2001','01.01.2002').
tenho certeza que funciona. rsrsr
Agradecido.
Eliomar,
ICQ - 167715482
Soft-Data Softwares Administrativos
hptt://www.promediconet.com.br
Mais detalhes sobre a lista de discussão lista