我使用以下代码将记录从一个表更新或插入到另一个表,但重复记录时插入语句不会跳过。我怎样才能绕过它?
我收到以下错误。我想跳过重复记录并插入新的
消息 2627,级别 14,状态 1,第 6 行违反主键约束“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);