Oracle错误代码红皮书

ora-01440:column to be modified

2019-04-26  本文已影响0人  擦普洱

ora-01440:column to be modified must be empty to decrease precision or scale
要减小精度或标度,则要修改的列必须为空

由于业务需求变更,需要对oracle数据库fct_project_quotation 表的SERVICE_AMOUNT number(38) 结构进行修改。由于是金额需要保留两位小数,所以需要修改成number(38,2)修改表结构,必须是在表空的情况下才可以修改表结构。具体操作步骤:

  1. 创建报价方案备份表
create table fct_project_quotation_bak as select * from fct_project_quotation;

扩展:我们可能在某种情况下,需要复制一张表的表结构,但是不需要数据,可以使用如下sql

create table fct_project_quotation_bak 
as select * from fct_project_quotation where 1<>1;

2.删除fct_project_quotation表内的数据

delete  from fct_project_quotation;

3.修改表结构

alter table fct_project_quotation  modify SERVICE_AMOUNT number(38,2);

4.还原表结构

 insert into fct_project_quotation select * from fct_project_quotation_bak;

5.最后一步删除 fct_project_quotation_bak

drop table fct_project_quotation_bak;

不怕从零开始,只怕从未启程!

上一篇下一篇

猜你喜欢

热点阅读