zoukankan      html  css  js  c++  java
  • (4.19)sql server中的事务模式(隐式事务,显式事务,自动提交事务)

    (4.19)sql server中的事务模式(隐式事务,显式事务,自动提交事务)

    1.概念:隐式事务,显式事务,自动提交事务

    2.操作:如何设置事务模式

    3.存储过程中的事务 XACT_ABORT  

    1.概念

      【1】隐式事务:即每个窗口系统会自动加上begin tran,但是不会自动提交,需要手动使用 commit 提交。

      【2】显示事务:需要begin tran             commit tran/ rollback tran   配合使用

      【3】自动提交事务:每一个DML、DDL都是独立的事务,并且一旦执行就自动提交/错误也会自动回滚。

    事务的基本控制语句


    BEGIN TRANSACTION 表示本地事务的开始
    BEGIN DISTRIBUTED TRANSACTION表示分布式事务起始
    COMMIT TRANSACTION表示事务的提交
    ROLLBACK TRANSACTION表示事务的回滚
    COMMIT事务的提交 与COMMIT TRANSACTION功能相同
    ROLLBACK 事务的回滚与ROLLBACK TRANSACTION功能相同
    SAVE TRANSACTION设置事务保存点

     

    2.操作

      【1】隐式事务

        SET IMPLICIT_TRANSACTIONS ON 语句启动隐性事务模式
        SET IMPLICIT_TRANSACTIONS OFF 语句关闭隐性事务模式

      【2】显式事务

        通过发出 BEGIN TRANSACTION 语句显式启动事务。

      【3】自动提交事务,默认为此项,无需设置;

        只要隐式事务和显式事务没有开启,就是自动提交事务。

      SSMS操作,右击实例-》属性-》连接

        

    3.存储过程中的事务 XACT_ABORT 

          SET XACT_ABORT ON是设置事务回滚的!  默认为OFF

          当为ON时,如果你存储中的某个地方出了问题,整个事务中的语句都会回滚;且不会再执行该事务内的所有语句了;
          为OFF时,只回滚错误的地方。事务内剩余的语句都会执行;
          举例:一个过程里有10行dml,执行到第5行出错。
            【1】如果为on,则直接回滚整个事务,并且报错
            【2】如果为off,则只会回滚出错的第5行,其余1-4,6-10可以正常执行并且提交保存;
     
     
  • 相关阅读:
    部署asp.net出现了问题
    给中国学生的第三封信[转载:李开复]
    给中国学生的第四封信:[转载:李开复]
    GMAIL DRIVE 提供邮箱一样大小的硬盘
    天气凉了,好舒服
    Asp.net与SQL一起打包部署安装
    无刷新联动下拉菜单(DotTextWeb版)
    我的主界面
    DataList绑定时控制字符串长度
    给中国学生的第一封信 [转载:李开复]
  • 原文地址:https://www.cnblogs.com/gered/p/10437395.html
Copyright © 2011-2022 走看看