Pergunta

Tabela: clientes

ID      NAME             DATATYPE
NUMBER  VARCHAR2(100)    CLOB

Eu quero mudar o DATA coluna de CLOB para `varchar2 (1000)

Eu tento ALTER TABLE customers MODIFY DATA VARCHAR2 (1000) também

ALTER TABLE customers MODIFY (DATA VARCHAR2 (1000))

também

alter table customers  modify
(data VARCHAR2(4000))

aqueles que normalmente funcionam se o tipo de dados não for um clob, mas estou recebendo um ORA-22859 Porque estou usando o Oracle Toad/Apex.

Foi útil?

Solução

Você pode tentar o seguinte:

  1. Adicione uma nova coluna como varchar2

    alter table my_table add (new_column varchar2(1000));

  2. Atualize o nome da CLOB para a coluna VARCHAR2;

    update my_table set new_column=dbms_lob.substr(old_column,1000,1);

Depois testando seus dados:

  1. Drop coluna CLOB

    alter table my_table drop column old_column

  2. Renomear a coluna VARCHAR2 para o nome da coluna CLOB

    alter table my_table rename column new_column to old_column

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top