• SQL SERVER事务处理


    SQL SERVER事务处理
     
    一、事务定义:
    事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。

    如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除。

     

    二、事务三种运行模式:

     

    1、自动提交事务:每条单独的语句都是一个事务。

    2、显式事务:每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。

    3、隐性事务:在前一个事务完成时新事务隐式启动,但每个事务仍以 COMMIT 或 ROLLBACK 语句显式完成。

     三、事务的4个属性    

    ①原子性(Atomicity):事务中的所有元素作为一个整体提交或回滚,事务的个元素是不可分的,事务是一个完整操作。 

    ②一致性(Consistemcy):事物完成时,数据必须是一致的,也就是说,和事物开始之前,数据存储中的数据处于一致状态。保证数据的无损。
    ③隔离性(Isolation):对数据进行修改的多个事务是彼此隔离的。这表明事务必须是独立的,不应该以任何方式以来于或影响其他事务。
    ④持久性(Durability):事务完成之后,它对于系统的影响是永久的,该修改即使出现系统故障也将一直保留,真实的修改了数据库。

    四、事务中的保存点(save)

      保存点提供了一种机制,用于回滚部分事务。更新和回滚操作代价很大,因此只有在遇到错误的可能性很小,而且预先检查更新
    的有效性的代价相对很高的情况下,使用保存点才会非常有效。
        在不可能发生错误的情况下,保存点很有用。在很少出现错误的情况下使用保存点回滚部分事务,比让每个事务在更新之前测
    试更新的有效性更为有效。
        设置保存点的语法: SAVE TRANSACTION  savePoint_name或@savePoint_name
    其中:@savePoint_name,用户定义变量的保存点名称;savePoint_name,用户定义的保存点名称.
        可以使用 SAVE TRANSACTION savePoint_name 语句创建保存点。然后执行 ROLLBACK TRANSACTION savePoint_name 语句以回
    滚到保存点,而不是回滚到事务的起点。
  • 相关阅读:
    BATJ面试必会之 Spring 篇(一)
    BATJ面试必会之Java IO 篇
    BATJ面试必会之并发篇
    如何学习JavaEE,项目又该如何做?
    面试官问你“有什么问题问我吗?”,你该如何回答?
    表单输入实时检测
    HTML5实现摇一摇
    加载音频Audio
    关于meta标签
    JS倒计时
  • 原文地址:https://www.cnblogs.com/wuxiang/p/3671321.html
Copyright © 2020-2023  润新知