Ir ao conteúdo
  • Cadastre-se

Oracle (Dica) Tratar Modificação de Coluna VARCHAR2 PARA CLOB - ORA-22858


Posts recomendados

Quando receber o erro: ORA-22858: alteração invalida do tipo de dados

 

Provavelmente você tentou Alterar o tipo de uma coluna de VARCHAR2 PARA CLOB; provavelmente este comando;

 

ALTER TABLE tabela_exemplo_original MODIFY COLUMN coluna_c_varchar2  CLOB;

 

Para resolver existe um jeito bem simples: siga as instruções. antes de tudo e qualquer dificuldade crie uma tabela BACKUP para fazer o teste. Depois de conseguir faça sem medo.

 

Tabela Backup que sera usado: 

 

 CREATE TABLE tabela_exemplo_bkp AS (SELECT * FROM coluna_exemplo_original);

 

1 Passo Criei uma Coluna similar a que você vai modificar porém com o Numero (2) na frente

 

ALTER TABLE tabela_exemplo_bkp ADD coluna_c_varchar2_2  VARCHAR2(4000);

2 Passo : faça o update passando os arquivos da coluna_c_varchar2 para a nova coluna adicionada coluna_c_varchar2_2

 

UPDATE tabela_exemplo_bkp A
 SET coluna_c_varchar2_2 = A.coluna_c_varchar2;

3 Passo : Passo de um select na coluna de Backup e veja se os dois campos estão com a mesma informação:

 

SELECT * FROM tabela_exemplo_bkp;

4 Passo:  deletar a coluna Original  (CUIDADO NÃO É A COLUNA NOVA QUE CRIAMOS A coluna_c_varchar2_2)

 

ALTER TABLE tabela_exemplo_bkp DROP COLUMN coluna_c_varchar2;

5 Passo criando a coluna como clob a original coluna_c_varchar2;

 

ALTER TABLE tabela_exemplo_bkp  ADD coluna_c_varchar2 CLOB;

 

6: passo update, faça o update colocando dados da 2 para a 1

 

UPDATE tabela_exemplo_bkp A
 SET coluna_c_varchar2 = A.coluna_c_varchar2_2;

 

7: Passo de um select e ve se o coluna_c_varchar2 que agora esta CLOB, foi populado igual a coluna 2

 

SELECT *
    FROM tabela_exemplo_bkp
    WHERE coluna_c_varchar2 IS NOT NULL;

 

Se sim a sua coluna original agora esta como CLOB  e com os valores originais

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...