转自https://www.cnblogs.com/chenlaichao/p/7753425.html
--修改有数据oracle字段类型 从number转为varchar --例:修改ta_sp_org_invoice表中RESCUE_PHONE字段类型,从number转为varchar
--step1:增加一个原类型缓冲区字段 alter table ta_sp_org_invoice add permile_temp number; --step2:将要修改的字段的值存入缓冲区,同时将要修改的字段制空 update ta_sp_org_invoice set permile_temp=RESCUE_PHONE,RESCUE_PHONE=null; --step3:修改字段类型 alter table ta_sp_org_invoice modify RESCUE_PHONE VARCHAR2(100); --step4:转移数据,同时制空缓冲区字段 update ta_sp_org_invoice set RESCUE_PHONE=to_char(permile_temp),permile_temp=null; --step5:删除缓冲区字段 alter table ta_sp_org_invoice drop column permile_temp;
![](https://images2017.cnblogs.com/blog/1264167/201710/1264167-20171030102857715-1512260936.png)
|