TSQL MERGE命令似乎没有实际合并
我正在研究代码 当我从那里剪切粘贴以下代码时: --正确指定联接条件的MERGE语句TSQL MERGE命令似乎没有实际合并,tsql,merge,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.Em
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
它产生他们所说的输出,但实际上并没有改变目标表。如何让它实际更改目标表的结果?是否有某种开关?更换
回滚传输带有提交传输的code>代码>
目标表正在更改,因此您可以看到正确的输出
,但在下一条语句中,您将通过回滚事务来撤消它。替换回滚事务带有提交传输的code>代码>
目标表正在更改,因此您可以看到正确的输出
,但在下一条语句中,您将通过回滚事务来撤消它。太棒了!谢谢当时间流逝时将进行检查。太好了!谢谢将在时间流逝时进行检查。