我相信默认设置是为DML语句自动提交(默认是隐式事务ON),但如果我需要执行一个开始/提交事务,隐式事务设置自动关闭开始/提交事务吗?
没有默认行为不是隐式事务,在隐式事务中,每个语句都包装在一个新的事务中,然后您必须显式地提交或回滚它。
默认行为是Auto-Commit,其中每个语句都包装在一个事务中,并在成功执行时提交。
显式事务是当你显式地开始一个事务并显式地提交一个事务时,你不需要为此关闭或打开任何东西,只要在SQL语句之前使用BEGIN TRANSACTION
,你就会启动一个显式事务,现在你必须显式地使用COMMIT TRANSACTION
或ROLLBACK TRANSACTION
。
-
如果不执行
BEGIN TRANSACTION
语句,则默认为Auto-Commit事务模式 -
如果你使用
BEGIN TRANSACTION
语句,它将是Explicit Transaction
。 -
最后,要使用隐式事务,您需要通过使用
SET IMPLICIT_TRANSACTIONS ON;
打开它们。