数据库系统sy09.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统sy09

CH9 事务与锁;一、事务和数据一致性约束 ;2 、数据一致性约束问题;用户A 丢失修改;用户A在t2把x增加30(尚未写入数据库),用户 B在t3由数据缓存读出x=70。但用户A在t4时 撒消(Undo)了对x的修改,数据库中仍维持 x=40。但用户B已把“脏”数据(x=70)取走;不可重复读(用户A); 在SQL Server中,通常事务是指以begin transaction开始,到rollback或一个相匹配的commit之间的所有语句序列。 rollback表示要撒消(undo)该事务已做的一切操作,回滚到事务开始的状态。 commit表示提交事务中的一切操作,使得对数据库的改变生效。; 对事务的管理是通过事务控制语句来实现的。 在SQL Server中主要有以下四种控制语句。 1. begin tran[saction] [tran_name] 标识一个用户定义的事务的开始。 2. commit tran[saction] [tran_name] 结束一个用户定义的事务。保证对数据和修改已成 功地写入数据库。 3. rollback tran[saction] [tran_name |save_name] 回滚一个事务到事务的开头或一个保存点。 ;4. save tran[saction] save_name 在事务中设置一个保存点。它可以使一个事务 内的部分操作回滚。比如 rollback transaction 保存 点名,即是回滚到所标识的保存点处。 请看如下的示例: begin tran * /*A组语句序列*/ save tran mytran * /*B组语句序列*/ if ... rollback tran mytran/*仅回滚B组语句序列*/ commit tran /*提交A组语句, 且若未回滚B组语句则提交B组语句*/;4、事务的四个特性;;;;全局变量@@transtate的作用;begin tran update publishers set pub_id = 9999 where pub_id = 9988 if @@transtate = 2 begin rollback tran return end if @@transtate = 3 return commit tran;@@error: 给出最近一次执行的语句引发的 错误号 (0代表未出错) @@rowcount: 给出受影响的行数 举例: declare @err int begin tran update publishers set pub_id = 9999 where pub_id = 9988 select @err = @@error if @err !=0 /* an error occurred*/ begin rollback tran /*Rollback changes */ return end;--cascade change to the titles table update titles set pub_id = 9999 where pub_id = 9988 select @err = @@error if @err !=0 /* an error occurrred */ begin rollback tran /*Changes for both updates ** rolled back. */ return end commit tran ; 利用系统过程sp_addmessage增加标准出错信息。 以批方式执行以下存储过程。 ap_addmessage 31001, Transaction aborted. Error occurred while updating publishers table

文档评论(0)

cbf96793 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档