0

次のようなことを行う 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 の比較に問題がありますか?

4

1 に答える 1