1

私は使用してIBM DB2 v9.1おり、すべてのデータベースをxmlファイルにエクスポートしたいと考えており、必要に応じてインポートします。データベースには 9 つのテーブルがあります。

を使用してjava and hibernateいます。これまでに行ったことは、休止状態を介してすべてのデータをフェッチし、POJO オブジェクトを埋めてから、オブジェクトを xml ファイルにエクスポートすることです。インポートのために、まず既存のデータベースをすべて削除し、xml ファイル データをデータベースにインポートする必要があります。

問題は主キー(ID) にあります。ID が DB2 から削除されると、その ID でデータを保存できなくなり、新しい ID が割り当てられます。これにより、外部キーの関係が乱れます。それに対する最善の解決策は何ですか?

4

4 に答える 4

0

おそらく、MERGE ステートメントが助けになるでしょう。一致する ID を持つ行が既に存在する場合は、その行を更新できます。一致する ID を持つ行がない場合は、それを挿入できます。

XML ファイルを作成するときに、DB2 から行を削除する必要は本当にあるのでしょうか?

于 2013-04-16T22:01:05.613 に答える
0

すべてのデータベースとはどういう意味ですか? すべてのデータ?またはDDL?

すべてのデータをエクスポートしていると思いますが、エクスポートされたデータを補充するために作成されたテーブルを残します。

問題は、制約と生成された値です。生成された値に関する良い記事があります: http://www.ibm.com/developerworks/data/library/techarticle/0205pilaka/0205pilaka2.html

参照制約については、インポートする前にそれらを削除/非アクティブ化し、次にデータをインポートし、最後に参照制約を再作成/アクティブにすることをお勧めします。

ここでは、制約を有効/無効にするための適切なストアド プロシージャ: http://www.dzone.com/snippets/db2-enabledisable-constraints

于 2013-04-16T08:57:56.860 に答える