Number para Varchar2???

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
ricardorauber
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 96
Registrado em: Qua, 21 Jun 2006 11:33 pm
Localização: Canoas RS

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.
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

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.
Renan Orati
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 90
Registrado em: Qui, 23 Ago 2007 3:40 pm
Localização: São José do Rio Preto - SP

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!!
ruevers
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 324
Registrado em: Sex, 02 Jun 2006 1:48 pm
Localização: sp
Contato:

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...
Responder
  • Informação
  • Quem está online

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