是正确还是不正确?回滚并提交

问题描述 投票:0回答:1

关于SQL中的COMMIT语句和ROLLBACK语句

我知道ROLLBACK语句是COMMIT语句的逆。

如果我们说“ COMMIT语句是ROLLBACK语句的逆序”,怎么办

是正确还是不正确?如果没有解释,请

感谢您的帮助

transactions commit rollback
1个回答
0
投票

从SQL Server的角度来看,“反”的用法可能会与“嵌套”事务产生误导

COMMIT:标记成功的隐式或显式事务的结束。

ROLLBACK:将显式或隐式事务回滚到事务的开始,或者回滚到事务内部的保存点。

示例:

BEGIN TRAN
BEGIN TRAN
SELECT 'sth';
COMMIT;
SELECT @@TRANCOUNT;
-- 1

vs

BEGIN TRAN
BEGIN TRAN
SELECT 'sth';
ROLLBACK;
SELECT @@TRANCOUNT;
-- 0 (nothing to commit)

db<>fiddle demo

© www.soinside.com 2019 - 2024. All rights reserved.