Sql 隐式事务打开/关闭和开始/提交事务

Sql 隐式事务打开/关闭和开始/提交事务,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我认为默认设置是自动提交DML语句(默认为隐式事务打开),但如果我需要执行开始/提交事务,隐式事务设置是否会在该开始/提交事务中自动关闭?没有默认行为不是隐式事务,在隐式事务中,每个语句都包装在一个新事务中,然后必须显式提交或回滚它 默认行为是自动提交,其中每个语句包装在一个事务中,并在成功执行时提交 显式事务是当您显式开始一个事务并显式提交一个事务时,您不需要为此关闭或打开任何东西,只需在SQL语句之前使用begintransaction,您就可以开始一个显式事务,现在您必须显式地提交事务或回

我认为默认设置是自动提交DML语句(默认为隐式事务打开),但如果我需要执行开始/提交事务,隐式事务设置是否会在该开始/提交事务中自动关闭?

没有默认行为不是隐式事务,在隐式事务中,每个语句都包装在一个新事务中,然后必须显式提交或回滚它

默认行为是自动提交,其中每个语句包装在一个事务中,并在成功执行时提交

显式事务是当您显式开始一个事务并显式提交一个事务时,您不需要为此关闭或打开任何东西,只需在SQL语句之前使用
begintransaction
,您就可以开始一个显式事务,现在您必须显式地
提交事务
回滚事务

  • 如果没有执行
    begintransaction
    语句,则它将是默认的自动提交事务模式

  • 如果使用
    begintransaction
    语句,它将是一个
    显式事务

  • 最后,要使用隐式事务,您需要使用
    SET Implicit_TRANSACTIONS on来打开它们


  • 不,自动提交开始事务并为您提交,您不必做任何事情,隐式事务为您开始事务,但您必须提交或回滚它。