开始交易的意义是什么? ...回滚;

时间:2019-07-12 07:25:26

标签: sql sql-server transactions

我知道只要有错误发生,交易就会自动回滚。我从Microsoft上阅读了有关T-SQL的内容,并发现了以下语法:

BEGIN TRANSACTION;
    STATEMENT1;
    STATEMENT2;
    STATEMENT3;
ROLLBACK;

为什么?如果您打算不做任何事情,何必呢?
特别是我在这里找到的:https://docs.microsoft.com/en-us/sql/t-sql/language-elements/rollback-transaction-transact-sql?view=sql-server-2017#examples
但在其他地方也是如此。

2 个答案:

答案 0 :(得分:1)

您看到的文档链接仅用于演示目的。它显示了开始事务,尝试插入一些行然后回滚时发生的情况。 然后执行另一条insert语句,并让读者理解事务回滚的工作原理(通过查看仅第二次插入的结果集以及回滚的事务不会影响数据)。

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

答案 1 :(得分:0)

这只是一些SQL,向您展示回滚的作用。 它将始终回滚,而不仅仅是出错。

通常,您只会回退错误,请参见 SQL Server - transactions roll back on error?

了解详情。