次のコードを使用して、あるテーブルから別のテーブルにレコードを更新または挿入しましたが、レコードが重複している場合、insert ステートメントはスキップしません。どうすればそれをバイパスできますか?
次のエラーが表示されます。重複レコードをスキップして新しいレコードを挿入したい
メッセージ 2627、レベル 14、状態 1、行 6 PRIMARY KEY 制約 'PK_MIBOMD_KEY_0' の違反。オブジェクト 'dbo.MIBOMD' に重複するキーを挿入できません。重複キーの値は ( , 0, 1) です。ステートメントは終了されました。
MERGE [MIBOMD] AS TARGET
USING [whl] AS SOURCE
ON (TARGET.[bomItem] = SOURCE.ItemID AND TARGET.bomEntry = SOURCE.bomEntry AND TARGET.bomRev = SOURCE.rev)
WHEN MATCHED AND TARGET.bomEntry = SOURCE.bomEntry
AND TARGET.partId <> SOURCE.partid THEN
UPDATE SET TARGET.partId = SOURCE.partid
WHEN NOT MATCHED BY TARGET THEN
INSERT (partId,bomEntry, srcLoc, qty, lead)
VALUES (SOURCE.partid, SOURCE.bomEntry, 'R14SDS', SOURCE.qty, SOURCE.lead);