1

ROWID データ型のフィールドを含むテーブルをアンロードする必要があります。QMF はこのデータ typr をサポートしていないため、QMF を介してテーブルをアンロードできませんでした。テーブルをアンロードする他の方法はありますか?

4

1 に答える 1

1

DB2 では、ROWID は、エンド ユーザーが許可する機能よりも多くの内部機能を RDMS に提供します。これは意図的なものです。リンクを参照してください:

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db2.doc.sqlref/xf7c63.htm

ただし、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 に答える