在SQL Server中阅读有关不同事务模式的MS文档。 Autocommit模式使用较少的代码执行隐式和显式事务模式所做的一切,为什么我应该在代码中使用隐式和显式事务模式?
答案 0 :(得分:1)
自动提交事务仅适用于单个查询。如果需要涉及多个查询的事务,则必须使用隐式和显式事务模式。
答案 1 :(得分:0)
如您所知,sqlserver自动完成了事务提交的工作。但是有些时候我们需要提交/回滚特定的条件/逻辑/业务规则。
例如,我们有一个主表和3个子/详细信息表,或者说一个或多个子表。 假设,我们必须保存主表条目以及所有详细信息表,并参考主表的pk-id。无论如何,任何问题都可以归还整个事情。
所以在这个场景中我们需要使用显式事务来提交或回滚作为一个工作单元。我们可以使用try..catch块进行错误处理并回滚事务。
如果我们没有使用这个事务,那么在每个insert语句之后sqlserver自动提交插入的行并且不会回滚。