1
我正在研究代碼here。TSQL MERGE命令似乎並未實際合併
當我下面的代碼從那裏砍正貼:
- 用正確指定的連接條件MERGE語句。
USE tempdb;
GO
BEGIN TRAN;
MERGE Target AS T
USING Source AS S
ON (T.EmployeeID = S.EmployeeID)
WHEN NOT MATCHED BY TARGET AND S.EmployeeName LIKE 'S%'
THEN INSERT(EmployeeID, EmployeeName) VALUES(S.EmployeeID, S.EmployeeName)
WHEN MATCHED
THEN UPDATE SET T.EmployeeName = S.EmployeeName
WHEN NOT MATCHED BY SOURCE AND T.EmployeeName LIKE 'S%'
THEN DELETE
OUTPUT $action, inserted.*, deleted.*;
ROLLBACK TRAN;
GO
它產生他們說的輸出,但它實際上並沒有改變TARGET表。我如何才能真正改變TARGET表的結果?是否有某種開關?
非常好!謝謝!將會檢查時間是否過去。 – elbillaf