修改Oracle表某字段精度

直接修改,会提示需要先清空该列的值,
在Oracle数据库的表中有数据时,我们想要修改表的字段精度,可以按照如下步骤解决:
第一步:备份要修改的表数据
create table ACC_TRANSPORTLOAN_BAK as select * from ACC_TRANSPORTLOAN;
select count(*) from ACC_TRANSPORTLOAN;
select count(*) from ACC_TRANSPORTLOAN_BAK;
其实就是将要修改的表数据复制到新创建的备份表

第二步:清空原表数据
delete from ACC_TRANSPORTLOAN;

第三步:修改表字段精度
alter table ACC_TRANSPORTLOAN modify LOANAMOUNT number(10,2);
alter table ACC_TRANSPORTLOAN modify EXPECTBACKAMOUNT number(10,2);
alter table ACC_TRANSPORTLOAN modify LOANBALANCE number(10,2);
当然此处也可以直接在PL/SQL工具中直接操作修改表结构,两种方法均可

第四步:恢复原表数据
insert into ACC_TRANSPORTLOAN select * from ACC_TRANSPORTLOAN_BAK;
drop table ACC_TRANSPORTLOAN_BAK;

其实就是将备份表的数据重新插入到原表中,恢复原数据
注意:在进行这项操作时一定要注意在系统没有业务交互时,也就是要修改的表没有新数据插入,否则会导致数据不对等的情况出现
 

你可能感兴趣的:(Oracle)