把字段类型从VARCHAR2变更为CLOB的方法
自从把数据库字符集变更为UTF8之后,原来VARCHAR2(4000)的字段无法容纳2000个汉字了,于是需要改变数据类型为CLOB。CLOB理论上支持 4G 字节容量。
直接执行
ALTER TABLE SAMPLE_TBL MODIFY column_name CLOB;
ORA-22858: 数据类型变更无效。
ALTER TABLE SAMPLE_TBL RENAME COLUMN column to column_old;ALTER TABLE SAMPLE_TBL ADD column CLOB;DECLARE CURSOR cu is SELECT * FROM SAMPLE_TBL;BEGIN FOR cu_rec IN cu LOOP UPDATE SAMPLE_TBL SET column = cu_rec.column_old WHERE ID = cu_rec.ID; END LOOP;END;/ALTER TABLE SAMPLE_TBL DROP (column_old);