[firebase-br] SQL Dinâmico
Henrique Sinapse
suporte em sinapseinformatica.com.br
Sex Mar 18 18:38:10 -03 2005
Gente,
Estou com um problema que ao meu ver é bobo, mas não estou conseguindo resolver.
Eu tenho que montar um procedure onde eu extraio o saldo de um material no estoque dentro de um determinado período. Só que eu queria que quando o parâmetro código do material não fosse informado, a procedure automaticamente trouxesse o saldo de todos os materiais. Mas quando eu execute a procedure dá o seguinte erro:
Ouverflow ocurred during data type conversion. Conversion erro from string "1996".
create procedure SP_SALDO_PRODUTO(
CODMAT VARCHAR(12),
DATA_INICIAL DATE,
DATA_FINAL DATE)
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
Alguém poderia me ajuda?
Carlos Henrique Meireles
Suporte de Sistemas
Tel.: 21 - 8115-1584
Mais detalhes sobre a lista de discussão lista