表:顧客
_ID NAME DATATYPE
NUMBER VARCHAR2(100) CLOB
_
DATA
列をCLOB
から `VARCHAR2(1000)に変更したい
ALTER TABLE customers MODIFY DATA VARCHAR2 (1000)
も試してみました
ALTER TABLE customers MODIFY (DATA VARCHAR2 (1000))
また
_alter table customers modify
(data VARCHAR2(4000))
_
これらは通常、データ型がCLOBでない場合に機能しますが、Oracle toad/apexを使用しているため、_ORA-22859
_を取得しています。
あなたはこれを試すことができます:
Varchar2として新しい列を追加します
alter table my_table add (new_column varchar2(1000));
CLOB名をvarchar2列に更新します。
update my_table set new_column=dbms_lob.substr(old_column,1000,1);
後データのテスト:
DROPCLOB列
alter table my_table drop column old_column
Varchar2列の名前をCLOB列名に変更します
alter table my_table rename column new_column to old_column