0

2 つの DB2 データベース (Database1 と Database2) があり、どちらにも SubscriptionTable というテーブルが含まれています。どちらのテーブルにもユーザー サブスクリプション関連のデータが含まれており、SubscriptionTable の列は両方のデータベースで同じです。

ここで、Database1.SubscriptionTable から Database2.SubscriptionTable にデータをコピー (および上書き) する必要がありますが、Database2.SubscriptionTable の LAST_UPDATED_TIMESTAMP 列が特定の日付より大きくない場合に限ります。

つまり、Database2.SubscriptionTable のサブスクリプション データを上書きしたいと思いますが、特定の日付以降にデータが変更されていない場合に限ります。

上書きされる各行の条件 (LAST_UPDATED_TIMESTAMP < 'XXXX-XX-XX') も指定できる db2 import など、既存のユーティリティをこの目的に使用できますか?

4

1 に答える 1

1

DB2IMPORTユーティリティには、行の内容に基づいて行を無視する機能がありません。

これを行う「最も簡単な」方法は、ゴードン・リノフがコメントで示唆しているように、フェデレーションを介することであり、Database1.SubscriptionTable は Database2 内からアクセスできます。

または、条件を満たすデータを Database1 から単純にエクスポートすることもできます。

-- Connect to Database1
export to data.del of del select * from SubscriptionTable 
                           where last_updated_timestamp > ...

-- Connect to Database2
import from data.del of del insert into SubscriptionTable ...
于 2014-07-14T23:04:22.187 に答える