SQL Server+MySQL数据库 事务的操作 13.2事务的操作.pptxVIP

SQL Server+MySQL数据库 事务的操作 13.2事务的操作.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
事务的操作 《SQL+MySQL数据库》 软件技术专业教学资源库 主讲人:邵丹 DB 1、创建事务 使用SQL语句管理事务 开始事务 提交事务 回滚(撤销)事务 ROLLBACK TRANSACTION COMMIT TRANSACTION BEGIN TRANSACTION 2、语法分析 (1)一旦事务提交或回滚,则事务结束 (2)判断某条语句执行是否出错: 使用全局变量@@error @@error只判断当前一条t-sql语句执行是否有错 为了判断事务中所有t-sql语句是否有错,可以对错误进行累计 如: (3)事务可以嵌套 SET @errorSum=@errorSum+@@ERROR 3、事务的分类 显式事务 用BEGIN TRANSACTION明确指定事务的开始 最常用的事务类型 隐性事务 通过设置SET IMPLICIT_TRANSACTIONS ON 语句,将隐性事务模式设置为打开 其后的T-SQL语句自动启动一个新事务 提交或回滚一个事务后,下一个 T-SQL 语句又将启动一个新事务 自动提交事务 SQL Server 的默认模式 每条单独的 T-SQL 语句视为一个事务 4、事务案例 从李萍的账户转出1000元,存入王海的账户中 BEGIN TRANSACTION /*--定义变量,用于累计事务执行过程中的错误--*/ DECLARE @errorSum INT SET @errorSum=0 --初始化为0,即无错误 /*--转账:李萍的账户减少1000元,王海的账户增加1000元*/ UPDATE bank SET currentMoney = currentMoney - 1000 WHERE customerName = 李萍 SET @errorSum = @errorSum + @@ERROR --累计是否有错误 UPDATE bank SET currentMoney = currentMoney + 1000 WHERE customerName = 王海 SET @errorSum = @errorSum + @@ERROR 开始事务(指定事务从此处开始,后续的T-SQL语句都是一个整体) 累计是否有错误 4、事务案例 从李萍的账户转出1000元,存入王海的账户中 IF @errorSum0 --如果SQL语句执行出错 BEGIN PRINT 交易失败,回滚事务 ROLLBACK TRANSACTION END ELSE BEGIN PRINT 交易成功,提交事务,写入硬盘,永久的保存 COMMIT TRANSACTION END GO PRINT 查看转账事务后的余额 SELECT * FROM bank 根据执行是否有错误,决定提交事务,或撤销事务 如果有错,则回滚操作,事务结束 如果成功,则提交操作,事务结束 4、事务案例 转账1000元,转账失败的情况 转账事务前 转账事务过程中 转账事务结束后 4、事务案例 转账800元,转账成功的情况 转账事务前 转账事务过程中 转账事务结束后 5、事务的练习 (1)批量插入学生考试成绩 (2)训练要点:使用事务向表中插入多条记录 (3)需求说明: 批量插入参加今天“计算机基础”课程考试的十名学生成绩 如果输入的成绩大于100分,将违反约束 4、事务的练习 BEGIN TRANSACTION DECLARE @errorSum INT SET @errorSum=0 /*--插入数据--*/ … … INSERT INTO Result(StudentNo,SubjectNo,ExamDate,StudentResult) VALUES(10012,1,2009-5-20,102) --分数违反约束 SET @errorSum=@errorSum+@@ERROR … … IF(@errorSum0) --如果有错误 BEGIN PRINT 插入失败,回滚事务 ROLLBACK TRANSACTION END ELSE BEGIN PRINT 插入成功,提交事务 COMMIT TRANSACTION END THANKS 谢谢聆听 黑龙江农业经济职业学院

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档