[firebase-br] Ajuda com execute statement

Fausto fausto.s.a em uol.com.br
Qua Jan 20 15:34:36 -03 2010


Boa tarde pessoal..
Estou montando uma rotina que na verdade é um instrução sql, para ser 
executa dentro de uma sp.
A montagem desta instrução estou fazendo assim:
txtsql = 'insert into movtoite 
(movite,movlan,movdat,procod,marcod,corcod,gracod,prosig,movtot,totitem,movpre,movdsc,'||:ncampo||',movcus,proref,probar)'||
              ' values '||'(' 
||:item||','||:lancto||','||:data||','||:codprodu||','||:cdmarca||','||:cdcor||','||:cdgrade||','||
 
:cdconsig||','||:qde||','||0||','||0||','||0||','||:qde||','||0||','||:cdreferencia||','||:codprobar||')';
O que esta acontecendo é que na hora de rodar o execute statement estou 
obtendo erro de conversão no  campo movdat que é atualizado com a 
variável :data;
Esta váriavel é resultado de um select de outra tabela.
Percebi que o erro esta sendo devido ao formato de data
Abaixo é a instrução sql já montada.
insert into movtoite 
(movite,movlan,*movdat*,procod,marcod,corcod,gracod,prosig,movtot,totitem,movpre,movdsc,PROQ01,movcus,proref,probar) 
values
(1,10276,*2009-10-10*,3293,136,182,4,0,1,0,0,0,1,0,003,00033536)
Estou obtendo este erro:
erro de conversao da string '1989'
Que é devido ao formato de data 2009-10-10 = 1989, ou seja, estou 
passando uma data que é 10/10/2009.
Outro detalhe que no caso até tirei pois não estou sabendo como resolver 
isso também, é que tenho um campo que serve de flag na movimentação do 
estoque o conteúdo dele é 'S' ou 'N'.
Também não consigo passar ele na montagem do sql acima.
Se alguém puder me ajudar desde já agradeço
-- 
Fausto Alves
Skype:faustoalves
msn:faustoalves em com4.com.br
Franca-SP
Enviado pelo Mozilla Thunderbird
http://br.mozdev.org/thunderbird





Mais detalhes sobre a lista de discussão lista