[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