美文网首页Oracle错误代码红皮书
ora-01440:column to be modified

ora-01440:column to be modified

作者: 擦普洱 | 来源:发表于2019-04-26 17:11 被阅读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;
    

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

    相关文章

      网友评论

        本文标题:ora-01440:column to be modified

        本文链接:https://www.haomeiwen.com/subject/peyqnqtx.html