博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL—— 事务
阅读量:6156 次
发布时间:2019-06-21

本文共 1024 字,大约阅读时间需要 3 分钟。

原文:

 SQL 事务:

 

1.  定义: 

事务是作为单个逻辑单元执行的一系列操作。 多个操作作为一个整体向系统提交,要么执行、要么都不执行,事务是一个不可分割的工作逻辑单元。这特别适用于多用户同时操作的数据通信系统。例如:订票、银行、保险公司以及证券交易系统等。

 

2. 事务必须具备的特性: 

   1) 原子性:  Atomicity  :事务是一个完整的操作, 个元素是不可再分的。事务中所以元素必须作为一个整体提交或回滚。如果十五中任何元素失败,则整个事务将失败。

   2)一致性: Consistency: 当事务完成时,数据必须处于一致状态。

   3)隔离性: Lsolation: 对数据进行修改的所有并发事务是彼此隔离的,它不以任何方式依赖或影响其他事务。

   4)持久性: 不管系统是否发生了故障,事务处理的结果都是永久性的。

 

3. 如何执行事务:

    1)开始事务:  begin  transaction

    2)  提交事务: commit transaction

    3)  回滚事务: rollback transaction

 

4. 事务分类

    1) 显示事务: 用begin transaction 明确指定事务的开始

    2) 隐式事务: 通过设置 set implicit_transactions on 语句,将隐式事务模式设置为打开。当以隐式事务模式操作时,SQlServer将在提交或回滚事务后自动启动新事务。不需要描述每个事务的开始,只要提交或回滚每个事务即可。

    3) 自动提交事务: 这是SQL Server的默认模式,它将每条单独的T-SQL语句视为一个事务。如果成功执行,则自动提交。如果错误,则自动回滚。

 

5. 示例

   XXXXXX  业务逻辑

 

  begin transaction  --开始事务

   declare @error  int  --定义变量,累积事务执行过程中的错误

   set @error = 0

   ----- 执行语句1

    set  @error = @error + @@error  --累积错误

   ---- 执行语句2

    set  @error = @error + @@error  --累积错误

   ------

   

   --判断

   if  @error <> 0  --有误

     begin

    print  '回滚事务'

           rollback  transaction

     end

   else  

     begin

    print  '提交事务'

           commit transaction

     end

  

 

   

    

转载地址:http://vnifa.baihongyu.com/

你可能感兴趣的文章
the assignment of reading paper
查看>>
android apk 逆向中常用工具一览
查看>>
MyEclipse 报错 Errors running builder 'JavaScript Validator' on project......
查看>>
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>
五、字典
查看>>
前端js之JavaScript
查看>>
Log4J日志配置详解
查看>>
实验7 BindService模拟通信
查看>>
scanf
查看>>
Socket编程注意接收缓冲区大小
查看>>
SpringMVC初写(五)拦截器
查看>>
检测oracle数据库坏块的方法
查看>>
SQL server 安装教程
查看>>
Linux下ftp和ssh详解
查看>>
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>