【发布时间】:2014-11-25 09:25:54
【问题描述】:
我在事务中运行以下 SQL 更新查询,以便在提交之前检查结果。然而,在执行和回滚之后,我发现它已经提交并且我的数据发生了变化,尽管从未发出过提交语句。
USE WS_Live
BEGIN TRAN Test
UPDATE AF
SET AF.AdditionalFieldsLookup11 = NULL
OUTPUT inserted.*
FROM dbo.Incident AS I
INNER JOIN dbo.AdditionalFields AS AF
ON AF.Oid = I.AdditionalFields
INNER JOIN dbo.AdditionalFieldsLookup11 AS AFL11
ON AFL11.Oid = AF.AdditionalFieldsLookup11
WHERE AF.AdditionalFieldsLookup11 IS NOT NULL
我的声明格式正确,我没有丢失任何重要数据,但我想知道为什么会发生这种情况,以免将来遇到问题。
【问题讨论】:
标签: sql tsql transactions commit