执行以下语句报"要修改数据类型,则要更改的列必须为空"
????? alter table 表名 modify (目标字段 varchar2(100));
解决步骤:
第一步,在表中加一个临时字段
????? alter table 表名 add 临时字段 目标字段原来的类型;
第二步,将目标字段的值付给临时字段,并将目标字段置空
????? update 表名 set 临时字段=目标字段,目标字段=null;
第三步,修改目标类型
????? alter table 表名? modify 目标字段 varchar2(100);
第四步,将临时字段的值付给目标字段,并将临时字段置空
????? update 表名 set 目标字段=临时字段,临时字段=null;
?
最后一步,删除临时字段
????? alter table 表名 drop column 临时字段;