【发布时间】:2012-02-10 19:49:58
【问题描述】:
目前我有一列被声明为 NUMBER。我想将列的精度更改为 NUMBER(14,2)。
所以,我运行了命令
alter table EVAPP_FEES modify AMOUNT NUMBER(14,2)'
为此,我遇到了一个错误:
column to be modified must be empty to decrease precision or scale
我猜它希望列是空的,而它会改变精度,我不知道为什么它说我们想在增加它的同时减少它,列中的数据不会丢失。有一个简短的解决方法吗?我不想将它复制到另一个表中然后将其删除,或者重命名列并在列之间复制,因为在传输和删除之间存在丢失数据的风险。
【问题讨论】: