首页 > 其他 > 详细

Oralce

时间:2015-11-06 17:50:08      阅读:197      评论:0      收藏:0      [点我收藏+]

执行以下语句报"要修改数据类型,则要更改的列必须为空"

alter table 表名 modify (目标字段 varchar2(100));
解决步骤:
第一步,在表中加一个临时字段
alter table ACC_PRODUCE_CANCEL add REASON2 CLOB;

第二步,将目标字段的值付给临时字段,并将目标字段置空
update ACC_PRODUCE_CANCEL set REASON2=REASON,REASON=null;

第三步,修改目标类型
删除现有咧
alter table ACC_PRODUCE_CANCEL drop column REASON;
alter table ACC_PRODUCE_CANCEL add REASON varchar2(4000);
第四步,将临时字段的值付给目标字段,并将临时字段置空
update ACC_PRODUCE_CANCEL set REASON=REASON2,REASON2=null;

最后一步,删除临时字段
alter table ACC_PRODUCE_CANCEL drop column REASON2;


解决步骤:
第一步,在表中加一个临时字段
alter table 表名 add 临时字段 目标字段原来的类型;

第二步,将目标字段的值付给临时字段,并将目标字段置空
update 表名 set 临时字段=目标字段,目标字段=null;

第三步,修改目标类型
alter table 表名 modify 目标字段 varchar2(100);

第四步,将临时字段的值付给目标字段,并将临时字段置空
update 表名 set 目标字段=临时字段,临时字段=null;

最后一步,删除临时字段
alter table 表名 drop column 临时字段;

Oralce

原文:http://www.cnblogs.com/wuzexin/p/4943004.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!