Problema na gravação com decimal

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
magrao_sgc
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qua, 17 Jun 2009 9:33 am
Localização: Joinville - SC - BRAZIL

Bom dia galera, estou começando agora a mexer com o oracle e estou com uma dificuldade.

Estou tentando gravar uma coluna(VL_UNITARIO) no qual o tipo é number(12,6)

o código é o seguinte:

insert into MOV_ITEM_PREVENDA ( CD_EMPRESA, CD_FILIAL, NR_PREVENDA, CD_ITEM, CD_TIPO_NOTA, PC_DESCONTO, QT_ITEM, VL_UNITARIO, NR_SEQUENCIA, CD_TABELA_preço, CD_CAMPANHA) values
(1,
101,
43,
2,
6112,
0,
1,
to_number(9.7),
2,
1,
6)

No pl/sql roda perfeitamente, mais quando eu executo pela aplicação ocorre um erro
ORA-01036: número inválido

Não consigo identificar o erro... :D :roll: :idea:
magrao_sgc
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qua, 17 Jun 2009 9:33 am
Localização: Joinville - SC - BRAZIL

PS.: O ERRO QUE OCORRE É O ORA-01722: número inválido
RodrigoValentim
Moderador
Moderador
Mensagens: 367
Registrado em: Ter, 25 Mar 2008 3:41 pm
Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer

Campanha: Faça uma pesquisa antes de perguntar!!!

Isso é erro na formatação numérica do seu Forms.

Você insere isso via script em alguma procedure ou é um campo da tela?
Existem algumas maneiras de resolver isso, a definitiva, é você ver qual formato numérico está configurado no regedit CHAVE NLS_LANGUAGE

Se for via script, tente usar os códigos abaixo.

Selecionar tudo

to_char(1210.73, '9999.9')	would return '1210.7'
to_char(1210.73, '9,999.99')	would return '1,210.73'
to_char(1210.73, '$9,999.00')	would return '$1,210.73'
to_char(21, '000099')	would return '000021'
se for via tela, olhe esse post.

http://glufke.net/oracle/viewtopic.php?t=337
magrao_sgc
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qua, 17 Jun 2009 9:33 am
Localização: Joinville - SC - BRAZIL

Obrigado Rodrigo, mais indo mais afundo no problema o cavalo aqui que estava errado, erro na hora de converter mesmo...

Mais mesmo assim mais uma vez obrigadooo
alexrsilva
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 153
Registrado em: Ter, 27 Mai 2008 1:31 pm
Localização: Rio de Janeiro - RJ

Você pode pegar o SELECT USERENV('LANG') INTO V_LANG FROM DUAL;
para saber o language no momento e colocar sua formatação corretamente.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes