我必须卸载包含具有 ROWID 数据类型的字段的表。我无法通过 QMF 卸载该表,因为它不支持此数据类型。有没有其他方法可以卸载表?
Naren
问问题
1067 次
1 回答
1
在 DB2 中,ROWID 为 RDMS 提供了比最终用户所允许的更多的内部功能。这是故意的。见链接:
但是,如果您不需要 ROWID 属性(将数据用于只读目的),则可以模拟此表的卸载/加载。
您可以使用 EXPORT / IMPORT 命令执行卸载/加载功能,这应该支持 ROWID,但如果不支持,则可以通过将不支持的数据类型 ROWID 转换为支持的数据类型来实现相同的功能。唯一的问题是,一旦这样做,您将无法将数据转换回此数据类型。换句话说,ROWID 的所有属性现在都将是一个常规的 INTEGER 字段。
select INTEGER(ROWID) as int-rowid
, col2
, coln
from table
order by 1
然后您可以执行 EXPORT / IMPORT 命令来卸载 / 加载数据。
警告:一旦你摆脱了 ROWID 属性,你就无法恢复它。换句话说,此表的 INSERTS 不会自动增加 ROWID 字段。
于 2010-11-06T04:18:30.283 回答