oracle调整字段精度的四种方法

oracle调整字段精度的四种方法:

01_执行用户_ddl/dml_表名_注释(建表/授权/同义词)

调整方式一:(精度只能调大不能调小)

alter table table_name_a MODIFY (column_AXX number(27,15));

调整方式二:(借用一个新的列调整)

alter table table_name_a add (column_temp number(27,15));
update table_name_a set column_temp = round(column_AXX,15);
alter table table_name_a drop column column_AXX;
alter table table_name_a add (column_AXX number(27,15));
update table_name_a set column_AXX = column_temp;
alter table table_name_a drop column column_temp;

方式三:(在不影响数据使用的情况下,效率略低)

alter table table_name_a add (column_temp number(30,15));
update table_name_a set column_temp = round(column_AXX,15);
update table_name_a set column_AXX = null;
alter table table_name_a MODIFY (column_AXX number(30,15));
update table_name_a set column_AXX = column_temp;
alter table table_name_a drop column column_temp;

方式四:重新创建一张符合要求的表,通过同义词切换使用(速度最快,效率最优)

user_fu(建表):     create table table_name_b;
user_fu(授权):     grant select, insert, update, delete on table_name_b to user_zi;
user_fu(copy):     INSERT INTO  table_name_b SELECT * FROM table_name_a;
user_zi(同义词):   create or replace synonym table_name_a for user_fu.table_name_b;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值