表:客户
ID NAME DATATYPE NUMBER VARCHAR2(100) CLOB
我想将DATA列从更改CLOB为`VARCHAR2(1000)
DATA
CLOB
我尝试ALTER TABLE customers MODIFY DATA VARCHAR2 (1000)也
ALTER TABLE customers MODIFY DATA VARCHAR2 (1000)
ALTER TABLE customers MODIFY (DATA VARCHAR2 (1000))
还
alter table customers modify (data VARCHAR2(4000))
如果数据类型不是Clob,但通常会正常工作,但ORA-22859由于我使用的是oracle toad / apex,所以我得到了。
ORA-22859
您可以尝试以下方法:
alter table my_table add (new_column varchar2(1000));
update my_table set new_column=dbms_lob.substr(old_column,1000,1);
经过 测试数据 :
alter table my_table drop column old_column
alter table my_table rename column new_column to old_column