修改Oracle表某字段精度

由于修改字段精度会提示需要先清空该列的值,以下两种方法即为了解决此问题

方法一、

1.将原表的创建语句复制到一个文本中,将要改精度的字段修改,并保存

2.再将原表的表名和Keys关系修改

修改Oracle表某字段精度_第1张图片

3.执行之前保存的创建语句

4.使用insert into A select * from B(将B表的数据插入到A表)方法将数据从一个表里同步到另一个表

方法二、

1.按照倒叙查询出企补业务表,找到要修改精度的列,全选,将数据粘出到一个文本中

SQL语句:select * from bus_heating_fee_info f order by f.create_date desc

修改Oracle表某字段精度_第2张图片

2.写sql语句将要修改精度的字段值清空,并提交事物

SQL语句:update bus_heating_fee_info set payment_area=''

修改Oracle表某字段精度_第3张图片

3.修改字段精度由原来的保留两位小数改为保留三位小数

SQL语句:alter table BUS_HEATING_FEE_INFO modify PAYMENT_AREA NUMBER(10,3);

修改Oracle表某字段精度_第4张图片

4.将原来粘贴出来的数据粘贴回去,并提及事物

SQL语句:select * from bus_heating_fee_info f order by f.create_date desc for update

修改Oracle表某字段精度_第5张图片

5.最终结果如图

修改Oracle表某字段精度_第6张图片

 

你可能感兴趣的:(Oracle)