Oracle中修改某个字段可以为空

待修改字段假定为:shuifen

  • 当该字段为空时:
alter table reportqymx modify shuifen null; 
  • 当待修改字段不为空时:
    新增一列
    把要改变的列的值转移过去并清空原列的值
    改变列的数据类型
    把值转移回来,并删除新增的列
alter table reportqymx add shuifen_temp number(10);  
update reportqymx set shuifen_temp=shuifen;  
alter table reportqymx modify shuifen null;  
update reportqymx set shuifen=shuifen_temp;  
alter table reportqymx drop column shuifen_temp;

参考:http://cloudjie.iteye.com/blog/1434785

你可能感兴趣的:(Oracle中修改某个字段可以为空)