"为列指定的属性与现有列定义不兼容"

  • 本文关键字:定义 不兼容 属性 db2
  • 更新时间 :
  • 英文 :


已经有一段时间了。

使用DB210forz/OS,我被要求将表中的特定列从十进制(7,2(更改为十进制(7,4(。听起来很简单,对吧?

alter table MySchema.MyTable
alter column myColumn
set data type decimal(7,4);

但是,DB2会返回以下错误:"为‘MYCOLUMN’列指定的属性与现有的列定义不兼容。">

我曾认为从十进制(7,2(转换为十进制(7,4(会非常简单,但DB2不同意。

除了放下桌子从头开始重新制作之外,我还有什么选择?

提前感谢!

Dave

创建一个正确类型的新列ALTER ADD COLUMN,使用UPDATE填充它,ALTER DROP COLUMN填充旧列。RENAME COLUMN,因此设置原始列的名称。

Db2不喜欢这个变化的原因是您将从99999.99 更改为999.9999

这真的是你想要的吗?从(7,2(到(9,4(只需再加两位小数,而不会丢失任何数据,这应该是Db允许的。

Db2 for i给出警告,但允许您忽略警告。。。

最新更新