开始交易的意义何在;...反转;



我知道每当发生错误时,事务都会自动回滚。我从Microsoft阅读了有关T-SQL的内容,并发现了以下语法:

BEGIN TRANSACTION;
    STATEMENT1;
    STATEMENT2;
    STATEMENT3;
ROLLBACK;

为什么?如果你不打算无论如何都不做事,何必呢?
具体来说,我在这里找到了这个:https://learn.microsoft.com/en-us/sql/t-sql/language-elements/rollback-transaction-transact-sql?view=sql-server-2017#examples
但在其他地方也是如此。

您看到的文档链接仅用于演示目的。它显示了当您开始事务时会发生什么,尝试插入一些行,然后将其回滚。然后执行另一个插入语句,读者应该了解事务回滚的工作原理(通过查看结果集,只有第二个插入成功并且回滚的事务不影响数据(。

通常,以您编写的方式回滚仅用于测试目的,例如在开发时。

这只是一些 sql 来向您展示回滚的作用。它将始终回滚,而不仅仅是在错误时回滚。

通常,您只会在错误时回滚,请参阅SQL Server - 事务在出错时回滚?

了解详情。

最新更新