修改有数据oracle字段类型 从number转为varchar

Posted chenlaichao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改有数据oracle字段类型 从number转为varchar相关的知识,希望对你有一定的参考价值。

--修改有数据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;

 

以上是关于修改有数据oracle字段类型 从number转为varchar的主要内容,如果未能解决你的问题,请参考以下文章

oracle如果要修改字段长度值一定没东西吗

修改oracle字段的数据类型,提示不兼容,怎么解决?

怎么更新oracle中的number类型字段

oracle数据库表的已经有数据,想修改某个字段的类型,如何修改

在oracle中number类型的字段长度是啥意思

oracle字段类型NUMBER(38,3),括号中两个数字分别表示啥?