修改非空表字段类型Oracle
执行以下语句报"要修改数据类型,则要更改的列必须为空"
alter table 表名 modify (目标字段 varchar2(100));
解决步骤:
第一步,在表中加一个临时字段
alter table 表名 add 临时字段 目标字段原来的类型;
第二步,将目标字段的值付给临时字段,并将目标字段置空
update 表名 set 临时字段=目标字段,目标字段=null;
第三步,修改目标类型
alter table 表名 modify 目标字段 varchar2(100);
第四步,将临时字段的值付给目标字段,并将临时字段置空
update 表名 set 目标字段=临时字段,临时字段=null;
最后一步,删除临时字段
alter table 表名 drop column 临时字段;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。