美文网首页Java
ora-01440:要减小精度或标度,则要修改的列必须为空

ora-01440:要减小精度或标度,则要修改的列必须为空

作者: 一觉睡到丶小时候 | 来源:发表于2020-07-04 08:12 被阅读0次

    修改表ZFTJ_HALF的FINE字段由原来的2为小数改为4为小数,如果直接修改,oracle数据库会报错误ora-01440:要减小精度或标度,则要修改的列必须为空

    正确的修改步骤为:
    先创建一个临时表,用来存放ZFTJ_HALF表的数据。

    CREATE  TABLE  ZFTJ_HALF_BAK  AS  SELECT  *  FROM  ZFTJ_HALF;
    

    删除原表中数据

    DELETE FROM ZFTJ_HALF;
    

    修改表字段

    ALTER TABLE ZFTJ_HALF MODIFY FINE NUMBER(11,4);
    

    还原表结构

    INSERT  INTO ZFTJ_HALF  SELECT  *  FROM  ZFTJ_HALF_BAK  ;
    

    删除临时表

    DROP  TABLE  ZFTJ_HALF_BAK  ;
    

    个人博客
    腾讯云社区
    掘金
    CSDN
    公众号:

    wx.jpg

    相关文章

      网友评论

        本文标题:ora-01440:要减小精度或标度,则要修改的列必须为空

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