Oracle 修改某字段允许为null

时间:2021-11-20 08:16:19

待修改字段假定为:shuifen

1.当该字段为空时,可直接修改:
alter table reportqymx modify shuifen null;

2.当待修改字段不为空时:
新增一列
把要改变的列的值转移过去并清空原列的值
改变列的数据类型
把值转移回来,并删除新增的列

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;

经过这些步骤就可以设置某字段为空,当然了,举例为number类型,针对不同类型,只需要借助临时列,使临时列的字段类型跟原始类型一致即可!