Domanda

Tabella: clienti

ID      NAME             DATATYPE
NUMBER  VARCHAR2(100)    CLOB

Voglio cambiare il DATA colonna da CLOB a `varchar2 (1000)

Ci ho provato ALTER TABLE customers MODIFY DATA VARCHAR2 (1000) anche

ALTER TABLE customers MODIFY (DATA VARCHAR2 (1000))

anche

alter table customers  modify
(data VARCHAR2(4000))

Quelli normalmente funzionano se il tipo di dati non è un CLOB ma sto ottenendo un ORA-22859 Perché sto usando Oracle Toad/Apex.

È stato utile?

Soluzione

Puoi provare questo:

  1. Aggiungi una nuova colonna come varchar2

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

  2. Aggiorna il nome CLOB alla colonna VARCHAR2;

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

Dopo Testare i tuoi dati:

  1. Drop Clob Colonna

    alter table my_table drop column old_column

  2. Rinomina la colonna Varchar2 al nome della colonna CLOB

    alter table my_table rename column new_column to old_column

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top