我必须卸载一个包含ROWID数据类型字段的表。我无法通过QMF卸载该表,因为它不支持此数据类型。还有其他方法可以卸载表吗?
答案 0 :(得分: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字段。