ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型
Oracle中,如果一个列的类型为varchar2,那么它不能直接转换为clob类型。可以通过间接的方式来修改。下面为实验:
ORA-22858: 数据类型的变更无效
如果直接转换,报错!
我们可以通过间接的方式来操作:
新建一个clob类型的列,将原列的值插入新建的列,然后删除原列,重命名新列。
SQL> alter table test add name_new clob;
Table altered
SQL> update test set name_new=name_old;
2rows updated(把原来字段的值复制到新建的字段中)
SQL> commit;
SQL> select * from test;
IDNAME NAME1
----------------------------------------------------------------------------------
1 a a
2 b b
SQL> desc test
Name Type Nullable Default Comments
----------------- -------- ------- --------
ID INTEGER Y
NAME VARCHAR2(10) Y
NAME1CLOB Y