oracle修改表字段从varchar2(4000)为clob
(原因varchar2(4000)不够用了)
1、临时表存数据
2、删原表数据,修改字段类型为long,才能再改为clob
3、导回数据
4、删除临时表
完整脚本,如下
//创建临时表bus_cqbzycxjdbgs_lsb结构与数据和bus_cqbzycxjdbgs一样create table bus_cqbzycxjdbgs_lsb as select * from bus_cqbzycxjdbgs;//删除原表bus_cqbzycxjdbgs数据,删除了才好改字段类型delete from bus_cqbzycxjdbgs;commit;//修改原表要修改为clob类型的字段pqbgnr为long先//不知道为什么网上查的必须先改为long才能再改成clobalter table BUS_CQBZYCXJDBGS modify pqbgnr long;//改为clobalter table BUS_CQBZYCXJDBGS modify pqbgnr CLOB;//把之前临时表的数据导回原表insert into BUS_CQBZYCXJDBGS select * from bus_cqbzycxjdbgs_lsb;//删除临时表drop table bus_cqbzycxjdbgs_lsb;