1.事务是什么?
事务就是被绑定在一起作为一个逻辑工作单元的SQL语句组,如果任何一个语句操作失败那么整个操作就被失败,进而回滚到操作前状态,或者是上个节点。为了确保要么执行,要么不执行,就可以使用事务。要将一组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。
2.事务的作用
1.0、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。

2.0、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。
3.0 可以保证数据的一致性和完整性(避免异常和错误等导致的数据信息异常)
2.事务的使用语法

实现刘刘某向夏某转账200

--定义一个变量,记录错误数;
create proc pro_changeAcount
(
@idIn int ,
@idOut int ,
@Remain decimal(18,2)
)
as
declare @error_nums int set @error_nums=0--开始事务
begin transaction tran_change
begin try
update Customers set Remain=(Remain-200)  where id=1set @error_nums=@error_nums+@@ERRORupdate Customers set Remain=(Remain+200)  where id=2
end try
begin catch
set @error_nums=@error_nums+1
print '错误信息'+error_number()+',错误信息'+error_message()
end catch
if( @error_nums>0)
--回滚事务
rollback tran tran_change
else
--提交事务
commit  tran tran_change

–执行事务后查询Customers 表

select*from Customers

得到结果如下

sql事务的定义以及使用相关推荐

  1. 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁

    阅读目录 概述: 一.事务 二.锁 三.阻塞 四.隔离级别 五.死锁 以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. ...

  2. (4.12)全面解析-SQL事务+隔离级别+阻塞+死锁

    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁 转自:https://blog.csdn.net/slowlifes/article/details/52752735 2016年10月07日 23 ...

  3. sql事务(Transaction)用法介绍及回滚实例

    sql事务(Transaction)用法介绍及回滚实例 事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务, S ...

  4. SQL 事务及实例演示

    简介 事务,英文名称是transaction.是在对数据库进行管理操作过程中一个逻辑单位,由有限的操作序列构成. 其实这个概念很好懂,简单理解就是:事务就是在使用数据库中的一个操作,由一些操作放到一起 ...

  5. 【概念原理】四种SQL事务隔离级别和事务ACID特性

    2019独角兽企业重金招聘Python工程师标准>>> 事务是一组读写操作,并且具有只有所有操作都成功才算成功的特性. 事务隔离级别 SQL事务隔离级别由弱到强分别是:READ_UN ...

  6. mysql对所有列的数据进行修改6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (3)...

    添加和删除列 使用ADD向表中添加新列,使用DROP删除现有列.DROP col_name是对标准SQL的MySQL扩展. 若要在表行的特定位置添加列,请使用FIRST col_name 或者 AFT ...

  7. SQL的数据定义功能及语句:

    定义各种数据库的"对象" 模式定义 表定义 视图定义 索引定义 SQL的数据定义语句 操作对象 操作方式 创建 删除 修改   模式 CREATE SCHEMA DROP  SCH ...

  8. sql复制表定义及复制数据行

    sql复制表定义及复制数据行 一.复制表定义 假设我们有一个数据表Person,有Id,FirstName,LastName,Weight,Height5个列,表结构可以参考这一篇.现在我们想创建一个 ...

  9. [转]SQL事务回滚的问题及其解决的方法

    [转]SQL事务回滚的问题及其解决的方法 原文:http://shirlly.javaeye.com/blog/370973 Begin Transaction:开始一个事务: Commit Tran ...

最新文章

  1. 基于keras 的神经网络股价预测模型
  2. tooltip trigger怎么改气泡的背景颜色_精装房这样改更完美,不砸墙不改电,低预算就能做到!...
  3. 53-python界面-wxForm
  4. Spring Cloud的架构
  5. Markdown编译器插入公式的数学符号及字体颜色、背景
  6. leetcode 5786. 可移除字符的最大数目(二分法)
  7. java rest httpclient_Httpclient与RestTemplate的比较(比httpClient更优雅的Restful URL访问)...
  8. 在iOS项目中,这样才能完美的修改项目名称
  9. linux+gpio+嵌入式,嵌入式Linux系统中对GPIO操作的方法总结
  10. 【Unity3D进阶4-12】Unity3D 对话系统
  11. 中国中央空调行业竞争力策略及未来发展潜力预测报告2021年版
  12. UG装配体,打开后总显示卸载的一种可行解决办法
  13. 用Unity同时开发【微信小游戏】【安卓】【IOS】游戏#5.5.1 窗口管理器
  14. 35岁程序员人群被公司优化,你觉得合理吗?
  15. 起步晚了20年,韩国芯片凭什么打破美日封锁,做到世界第1?
  16. 连续3年,ZETTAKIT泽塔云荣膺Gartner中国超融合市场推荐厂商
  17. 解决WIN8主题下载后安装不了的情况
  18. windows下使用redis,Redis入门使用,Redis基础命令
  19. QQ中强制和他人聊天的代码
  20. 下棋机器人棋子图像识别的软件代码之matlab仿真

热门文章

  1. 欠拟合与过拟合及其解决方法
  2. python打印一条横线的函数,去除换行
  3. 报告解读:面膜电商消费趋势洞察(附完整版报告)
  4. 深入浅出单点登录---1、什么是单点登录
  5. [置顶]微信开发详细教程
  6. Linux基础知识及系统管理(一):Linux常用命令
  7. 从标题到活动谈谈微信运营三件事儿
  8. 首位女性图灵奖得主、编译器优化领域先驱 Frances Allen 去世
  9. 一个收费4888元的项目,是个什么鬼?
  10. sharesdk QQ空间分享经验