次のようなことを行う megre ステートメントがあります。
MERGE INTO TABLE_NAME1 tgt
USING (SELECT CONTRACTOR, TRACTOR, COL1, COL2 FROM TABLE_NAME2) src
ON src.CONTRACTOR = tgt.CONTRACTOR AND src.TRACTOR = tgt.TRACTOR
これは、請負業者が複数のトラクターを持つことができるためです。テーブル キーは ID キーのみであるため使用されません - 挿入時に自動採番されます。
テーブルが空の場合、Merge は正常に実行されますが、再度実行すると、トラクターが null の行が複製されます。だから私は試しました:
ON ((src.CONTRACTOR = tgt.CONTRACTOR AND src.TRACTOR = tgt.TRACTOR)
OR (src.CONTRACTOR = tgt.CONTRACTOR AND tgt.TRACTOR IS NULL))
しかし、これによりハングします。DB2 には NULL と NULL の比較に問題がありますか?