回答

收藏

在Oracle改变数字列的精度

技术问答 技术问答 182 人阅读 | 0 人回复 | 2023-09-13

目前,我有一列被声明为NUMBER。我想把列的精度改为NUMBER(14,2)。; M$ P$ N2 a/ N7 m; |
于是,我跑了命令7 k; N/ l/ V; P7 I' v" m+ o! k
    alter table EVAPP_FEES modify AMOUNT NUMBER(14,2)'为此,我遇到了一个错误:+ D1 k1 e9 D% i; v! @
            column to be modified must be empty to decrease precision or scale我猜它想在改变精度时把它列为空,但我不知道为什么要在增加它的同时减少它,所以列中的数据不会丢失。有一个简短的解决方案吗?由于传输和删除之间存在数据丢失的风险,我不想将其复制到另一个表中,然后删除它,或重命名一列并在每列之间复制。4 q; V$ T% d$ `/ P
                                                                # f" o: }! L6 i; K: J& ?2 g$ k
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则