[firebase-br] RES: Ajuda com execute statement
Priscila Lugon
priscila em agriness.com
Qua Jan 20 15:43:23 -03 2010
Fasto,
Estou com esse mesmo problema que você, até ia mandar um email para a lista
hoje ;)
A minha SP também da erro ao utilizar uma variável de data no EXECUTE
STATEMENT, eu já tentei colocar um cast, '', transformar para string, mas
nada deu certo...
Segue o trecho da minha SP:
EXECUTE STATEMENT
' UPDATE eparLancamento' || tabela || ' AS MP ' ||
' SET MP.vlCustoAtual = ROUND(' || :v_vlCustoAtual || ',4) '
||
' WHERE MP.cd' || tabela || ' = ' || :v_cdproduto ||
' AND MP.dtLancamento = ' || :v_dtlancamento;
Se tu descobrir a resposta, não esqueça de postar aqui :)
Priscila Lugon
Tecnologia
----------------------------------------------------------------------------
-------------------------------
AGRINESS – Gestão da Informação para Suinocultura
www.agriness.com | + 55 (48) 3028-0015 | priscila em agriness.com
----------------------------------------------------------------------------
-------------------------------
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Fausto
Enviada em: quarta-feira, 20 de janeiro de 2010 15:35
Para: lista em firebase.com.br
Assunto: [firebase-br] Ajuda com execute statement
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,movp
re,movdsc,'||:ncampo||',movcus,proref,probar)'||
' values '||'('
||:item||','||:lancto||','||:data||','||:codprodu||','||:cdmarca||','||:cdco
r||','||:cdgrade||','||
:cdconsig||','||:qde||','||0||','||0||','||0||','||:qde||','||0||','||:cdref
erencia||','||: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,mo
vpre,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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista