zoukankan      html  css  js  c++  java
  • 【T_SQL】 基础 事务


    1、使用 T-SQL 语句来管理事务 
         开始事务:BEGIN TRANSACTION 
         提交事务:COMMIT TRANSACTION 
         回滚(撤销)事务:ROLLBACK TRANSACTION 
    2、判断某条语句执行是否出错 
         使用全局变量@@ERROR。@@ERROR 只能判断当前一条 T-SQL 语句执行是否有错,为了判断事务中所有 T-SQL 语句是否有错,我们需要对错误进行累计;如: SET @errorSum=@errorSum+@@error 


    3、事务必须具备 ACID 四个属性 

         原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的);要么都执行,要么都不执行 
         一致性(Consistency):当事务完成时,数据必须处于一致状态 
         隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务 
         永久性(Durability):事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性 


    4、事务的分类 

        显示事务:用 BEGIN TRANSACTION 明确指定事务的开始,这是常用的事务类型 
        隐性事务:通过设置 SET IMPLICIT_TRANSACTIONS ON 语句,将隐性事务模式设置
     
        为打开,下一个语句自动启动一个新事务。当该事务完成时,再下一个 T-SQL 语句又将启动一个新事务自动提交事务:这是 SQL Server 的默认模式,它将每条单独的 T-SQL 语句视为一个事务,如果成功执行,则自动提交;如果错误,则自动回滚 


    5、事务例句 

    BEGIN TRANSACTION -- 开始事务 
    DECLARE @errorSum INT  --定义变量接收错误语句数 
    SET @errorSum = 0 --初始化变量,无错误 
      SQL 语句 1 
      SET @errorSum=@errorSum+@@error 
      SQL 语句 2 
      SET @errorSum=@errorSum+@@error 
      …… 
    IF @errorSum <> 0  --产生错误,回滚事务 
       BEGIN 
        ROLLBACK TRANSACTION 
       END 
    ELSE --如果无错误,提交事务 
       BEGIN 
        COMMIT TRANSACTION 
       END 
    GO 


  • 相关阅读:
    Adb 命令
    python 属性
    python 计时器
    【网易云课堂工作】什么是本能三元组
    functiontools.partial
    源码
    听总结
    线程和死锁
    加入kendall进入计算
    添加K-CORE值进入运算
  • 原文地址:https://www.cnblogs.com/DoubleEggs/p/5747143.html
Copyright © 2011-2022 走看看