我正在使用表值参数来合并我的记录,但除此之外,我还需要从我的数据库中删除我的TVP表中不存在的记录。任何人都可以请帮忙。谢谢。
另一种方法是简单地删除所有记录而不是继续插入,但记录的数量可以达到数千,因此性能可能是一个问题。
MERGE [Customer_Address] ca --[AS TARGET]
USING @TvpCustomer_Address tca --[AS SOURCE]
ON (ca.CustomerId = tca.CustomerId)
AND(ca.[Address] = tca.[Address])
WHEN NOT MATCHED THEN
INSERT (CustomerId, [Address]) Values(tca.CustomerId, tca.[Address]);
WHEN MATCHED THEN
-- Update...
答案 0 :(得分:0)
你可以使用第三个'WHEN'案例:
WHEN NOT MATCHED BY SOURCE
我用它来标记丢失的记录。