TBTC03 と TBTC03Y の 2 つのテーブルがあり、TBTC03Y には EFFDTE と EXPDTE として 2 つの余分な列があります。次のロジックを使用して、TBTC03 から TBTC03Y にデータをマージする必要があります。
一致する TC03 エントリが TC03Y に見つからない場合
、TC03 データを使用して新しい TC03Y レコードが作成され
ます。発効日はデフォルトで「01-01-1980」
になります。有効期限はデフォルトで「09-30-1995」になります。
と同じクエリを作成しました:
insert into TBTC03Y (LOB,MAJPERIL,LOSSCAUSE,NUMERICCL,EFFDTE,EXPDTE)
select LOB,MAJPERIL,LOSSCAUSE,NUMERICCL,'0800101' ,'0950930'
from TBTC03 where not EXISTS (select * from TBTC03Y where
TBTC03Y.LOB = TBTC03.LOB AND
TBTC03Y.MAJPERIL = TBTC03.MAJPERIL AND
TBTC03Y.LOSSCAUSE = TBTC03.LOSSCAUSE AND
TBTC03Y.NUMERICCL = TBTC03.NUMERICCL)
両方のテーブルの主キーは、LOB、MAJPERIL、および LOSSCAUSE です。
ただし、主キーを持つデータが既にある TBTC03Y レコードがいくつかあります。
上記のクエリを実行すると、一部の行に主キー制約が与えられます。どうすればそれを達成できるかわかりません。