- 1
- 0
- 约4.66千字
- 约 22页
- 2016-10-26 发布于广东
- 举报
* * * 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 第11章 数据库事务 本章目标 理解事务的概念 理解事务的特性、分类 在SQLServer中启动、提交和回滚事务 掌握事务的隔离级别 为什么需要事务 事务能确保把对多个数据操作作为一个单元来处理 例如:银行转帐 问题:假设张三的银行卡有2000元,李四的卡有1000元,共计3000元。现在张三要转1000元给李四,则要更新张三的帐户,减少余额1000元,更新李四帐户余额,增加1000元。如果整个流程没有出错则最后张三余额1000元,李四2000元,共计3000元。数据和转帐之前是一致的,假设在减少了张三的余额1000后,系统掉电或者出现意外李四的帐户还没完成更新。则最终的数据2000元,那怎么解决? 事务的概念及特性 事务提供了一种机制、是一个操作序列,它包含了一组数据库操作命令,并且所有的命令作为一个整体一起向系统提交或撤消操作请求 事务是作为单个逻辑工作单元执行的一系列操作 事务的四个特性: 原子性(Atomicity):事务能确保把对多个数据修改作为一个单元来处理,也就是原子操作。 一致性(Consistency):当事务完成时,数据必须处于一致状态 隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的。这表明事务必须是独立的,它不应以任何方式依赖或影响其他事务 持久性(Durability):当事务完成之后,它对于系统的影响是永久性的。 事务的分类 事务分类 显式事务 隐性事务 自动提交事务 显式事务:显式事务是显式地定义其开始和结束的事务 BEGIN TRANSACTION …数据库操作如:插入记录 …数据库操作如:删除记录 COMMIT TRANSACTION 事务的分类 隐性事务:通过Transact-SQL的 SET IMPLICIT_TRANSACTIONS ON 语句,将隐性事务模式设置为打开。 SET IMPLICIT_TRANSACTIONS ON GO /*第一次执行Insert 语句的时候将自动启动一个隐性事务*/ INSERT INTO ImpTran VALUES(1,aaa) INSERT INTO ImpTran VALUES(2,bbb) GO /*提交第一个事务*/ COMMIT TRANSACTION GO /*执行SELECT语句将启动第二个隐性事务*/ SELECT COUNT(*) FROM ImpTran GO INSERT INTO ImpTran VALUES(3,ccc) GO SELECT * FROM ImpTran GO /*提交第二个事务*/ COMMIT TRANSACTION GO SET IMPLICIT_TRANSACTIONS OFF GO 事务的分类 自动提交事务:所有Transact-SQL语句在完成时,都会提交或回滚。如果一条语句成功完成,则将其提交,如果遇到任何错误,则将其回滚; 默认操作模式 用T-SQL表示事务 Transact-SQL使用下列语句来管理事务 开始事务:BEGIN TRANSACTION 提交事务:COMMIT TRANSACTION 回滚(撤消)事务:ROLLBACK TRANSACTION 下列变量在事务处理中非常有用。 @@ERROR @@TRANCOUNT 事务的应用 示例:客户购买图书 USE BookShopDb GO --一个客户在销售员编号为的用户处购买了三种书,生成销售记录--- SET NOCOUNT ON --不显示受影响的行数信息 GO BEGIN TRANSACTION --开始事务 DECLARE @err INT --保存错误编号 PRINT 客户开始买书,事务开始 SET @err=0 --插入销售主表SalesMaster INSERT INTO SalesMaster VALUES(GETDATE(),001) --声明局部变量保存SalesMasterID SET @err=@err+@@ERROR DECLARE @SalesMasterID INT --获取最新的SalesMasterID SELECT @SalesMasterID=@@IDENTITY --购买三本书 INSERT INTO SalesDetails VALUES(@SalesMasterID,B0001,1,0.9,45) SET @err=@err+@@ERROR INSERT INTO SalesDetails VALUES
您可能关注的文档
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 2.第二章 .SQL Server 2005概述.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 3.第三章 .数据库备份与恢复技术.PPT
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 4.第四章 .数据库转换与复制技术.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 5.第五章 .SQL Server 2005的安全性.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 6.第六章 .自动化管理任务.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 7.第七章 .数据库维持高可用性.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 8.第八章 .SQL Server 2005的分析服.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 9.第九章 .SQL Server 2005 报表服务.ppt
- 新SQL Server 2005数据库实践教程——开发与设计篇 电子教案 钱哨 第1章 关系数据库标准语言SQL.ppt
- 新SQL Server 2005数据库实践教程——开发与设计篇 电子教案 钱哨 第3章 事务处理、并发控制及数据库优化.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)