マージステートメントで「新しい値」が変更されない列を更新しないようにする方法はありますか?
出力句で挿入されたテーブルからフィールドを取得する必要があるため、更新を行う必要があります。
もちろん、目標はIO書き込みを回避することです
WHEN MATCHED THEN
UPDATE
SET
productName = Src.productName -- Only if Src.productName <> productName
, productNameModel = Src.productNameModel -- Only if Src.productNameModel <> productNameModel
, brandID = Src.brandID -- Only if Src.brandID <> brandID
, ean = Src.ean -- Only if Src.ean <> ean
, categoryID = Src.categoryID -- Only if Src.categoryID <> categoryID
, resellerPrijsEx = Src.resellerPrijsEx -- Only if Src.resellerPrijsEx <> resellerPrijsEx
, inStock = Src.inStock -- Only if Src.inStock <> inStock
, warrantyID = Src.warrantyID -- Only if Src.warrantyID <> warrantyID
, productNamePn = Src.productNamePn -- Only if Src.productNamePn <> productNamePn
OUTPUT Src.ID, inserted.ID, Src.hasDescription INTO @tblID (tmpID, ID, hasDescription) -- Yet UPDATE is required since I need to retrieve inserted ID
;