1
鑑於是一個簡單的MERGE語句。在哪裏插入/更新記錄到Traget表中。問題:是否也可以將這些值插入另一個表中,插入標誌爲0,更新爲1?例如。當不匹配時插入到目標和另一個表中,匹配時執行更新目標並插入到另一個表中。合併聲明與兩個插入?
MERGE dbo.FactBuyingHabits AS Target
USING (SELECT CustomerID, ProductID, PurchaseDate FROM dbo.Purchases) AS Source
ON (Target.ProductID = Source.ProductID AND Target.CustomerID = Source.CustomerID)
WHEN MATCHED THEN
UPDATE SET Target.LastPurchaseDate = Source.PurchaseDate
--and insert into test_tbl values (1, Source.ProductID, Source.CustomerID) --?
WHEN NOT MATCHED BY TARGET THEN
INSERT (CustomerID, ProductID, LastPurchaseDate)
VALUES (Source.CustomerID, Source.ProductID, Source.PurchaseDate)
--and insert into test_tbl values (0, Source.ProductID, Source.CustomerID) --?
你可以在目標表上創建一個觸發器來處理'日誌'。 –