表:客户
ID NAME DATATYPE
NUMBER VARCHAR2(100) CLOB
我想改变DATA
专栏来自CLOB
到`VARCHAR2(1000)
我已经尝试过ALTER TABLE customers MODIFY DATA VARCHAR2 (1000)
also
ALTER TABLE customers MODIFY (DATA VARCHAR2 (1000))
also
alter table customers modify
(data VARCHAR2(4000))
如果数据类型不是 clob,那么这些通常可以工作,但我得到了ORA-22859
因为我使用的是 oracle toad/apex。
你可以试试这个:
-
添加新列作为 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);
After 测试你的数据:
-
删除 CLOB 列
alter table my_table drop column old_column
-
将 varchar2 列重命名为 CLOB 列名
alter table my_table rename column new_column to old_column
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)