Página 1 de 1

Number para Varchar2???

Enviado: Qui, 14 Fev 2008 5:11 pm
por ricardorauber
Estou com um problema sério, fui encarregado de uma interface de comunicação entre dois sistemas e recebi um de-para das tabelas e campos que irão ser carregadas.

O que está acontecendo é que uma coluna de uma tabela que está recebendo um valor é do tipo NUMBER(15) e a tabela fornecedora é VARCHAR2(15). As duas tabelas tem centenas de milhares de registros que não podem ser apagados e por isso não consigo fazer um ALTER TABLE MODIFY nesta tabela que tem o campo NUMBER(15).

Alguém tem alguma idéia do que eu posso fazer nessa situação sendo que eu não tenho escolha quanto as tabelas/campos e tem que ser esses mesmos?

Obrigado.

Enviado: Qui, 14 Fev 2008 5:20 pm
por TBou
Este campo NUMBER na tabela de destino faz parte da chave primaria..?

você já verificou se na tabela de Origem que tem este campo Varchar2 dos dados são alfanumericos..? ou seja....tem letras no campo ou talvez seja apenas numeros que estão inseridos neste caso você poderia dar um to_number.

outra coisa....se você precisar dar alter table você não irá perder os registros da tabela, o que pode acontecer é descompilar as procedures que utilizam esta tabela ou coluna, o que faz desta alteração um pouco perigosa, onde teria que verificar dotas os objetos que fazem referencia a este campo.

Enviado: Seg, 18 Fev 2008 7:16 pm
por Renan Orati
Kara... caso o campo que está enviando os dados que é do tipo VARCHAR2(15) contenha apenas números... então você pode passar os dados sem problema... nem precisa converter que o oracle reconhece isso!!

Enviado: Seg, 25 Fev 2008 10:56 pm
por ruevers
Criança, usa o TO_NUMBER() pode fazer select e tudo.
Se quiser alterar o tipo, tambem pode....
Mas se houverem dados cracteres vai dar pau...mas também te como resolver...