0

我正在使用表值参数来合并我的记录,但最重要的是,我还需要从我的数据库中删除我的 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...
4

1 回答 1

0

您可以使用第三种“WHEN”案例:

WHEN NOT MATCHED BY SOURCE

我用它来标记丢失的记录。

于 2013-06-19T06:59:35.767 回答