SQL课件Server 2005案例教程周仁云 ISBN 9787811343960 PPT第11章.ppt

SQL课件Server 2005案例教程周仁云 ISBN 9787811343960 PPT第11章.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 游标、事务和锁 【学习目标】 本章将要学习游标的作用、基本操作步骤、应用,事务的基本概念、作用、属性、类型和编写方法,并发问题、锁的类型、封锁协议、死锁和活锁、封锁粒度。 本章学习要点: 游标的作用及使用; 事务的作用及各种事务的编写方法; 并发问题及封锁方法。 【学习导航】 在数据库应用程序中,常常需要游标来逐行处理数据;在一些业务中可以通过事务来帮助实现数据的一致性和完整性,通过封锁或解锁来实现数据库应用系统的并发操作问题。游标、事务和锁在实际应用中具有很重要的实用价值。 图11-1 本章内容学习导航 11.1 游标 关系数据库中的操作是集合操作,由SELECT语句返回的结果是纪录的集合,被作为一个整体单元处理,无法对其中的一条或一部分纪录单独处理。但实际应用中,尤其是交互式联机应用程序,需要对这些结果集进行逐行操作。游标就提供了这样的一种处理机制。使用游标可以在纪录集中逐行向前或向后访问数据,可以在任意位置显示、修改和删除当前纪录的数据。 11.1.1 游标的基本操作 使用游标的一般步骤:⑴声明游标、⑵打开游标、⑶提取游标、⑷对游标中当前位置的纪录执行操作、⑸关闭游标、⑹释放游标。 使用游标时的基本语句: ⑴ 声明游标 游标在使用之前需要声明,定义游标的属性,声明游标的基本语法格式为: DECLARE 游标名 CURSOR [LOCAL|GLOBAL] /*游标作用域*/ [FORWARD_ONLY|SCROLL] /*游标移动方向*/ [READ_ONLY] /*访问属性*/ FOR SELECT 语句 /*SELECT 语句*/ [FOR UPDATE [OF 列名称[,...n]]] /*修改的范围*/ 参数含义: LOCAL与GLOBAL:说明游标的作用域。LOCAL说明所声明的游标是局部游标;GLOBAL说明所声明的游标是全局游标; FORWARD-_ONLY|SCROLL:FORWARD_ONLY说明该游标只能从第一行滚动到最后一行。SCROLL说明该游标可能后滚动; SELECT语句:由该查询产生与所声明的游标相关联的结果集; FOR UPDATE:指出游标中可以更新的列。若有参数“OF 列名称”,则只能修改给出的这些列,若在UPDATE中未指出列,则可以修改所有。 ⑵ 打开游标 游标使用之前需要先打开,才能从游标中提取数据。打开游标的语法格式为: OPEN cursor_name 【提示】 · OPEN 命令只能打开已声明但尚未打开的游标。 · 游标在打开状态下,不能再被打开。 · 打开一个游标以后,可以使用全局变量@@ERROR 判断打开操作是否成功,如果返回值为0,表示游标打开成功,否则表示打开失败。 · 当游标被成功打开时,游标位置指向记录集的第一行之前。 · 游标成功打开后,可以使用全局变量@@CURSOR_ROWS 返回游标中的记录数。 ⑶ 提取游标 游标被成功打开后,就可以使用FETCH 命令从游标中检索特定的一行,提取游标中的数据的语法格式为: FETCH [[NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | RELATIVE n |] FROM ] cursor_name [INTO @variable_name[,…n]] 参数含义: NEXT:返回紧跟当前行之后的结果行。如果FETCH NEXT 为对游标的第一次提取操作,则运行结果集中的第一行。 PRIOR:返回紧临当前行前面的结果行。如果FETCH PRIOR为对游标的第一次提取操作,则没有行返回并且游标置于第一行之前。 FIRST:返回游标总的第一行并将其作为当前行。 LAST:返回游标中的最后一行并将其作为当前行。 ABSOLUTE n:如果n为正数,返回从游标头开始的第n行并将返回的行变成新的当前行。如果n为负数,返回游标尾之前的第n行并将返回的行变成新的当前行。如果n为0,则没有行返回。 RELATIVE n:返回当前行之前或之后的第n行并将返回的行变成新的当前行。 Cursor_name :要从中进行提取的游标的名称。 INTO @variable_name[,…n] :允许将提取操作的列数据放到局部变量中。列表中的各个变量从左到右与游标结果集中的相应列相关联。各变量的数据类型必须与相应的结果列的数据类型匹配。变量的数目必须与游标选择列表中的列的数目一致。 ⑷ 关闭游标 游标使用完毕后,应该关闭游标,释放当前结果集,以便释放游标所占用的系统资源。关闭游标语法格式为: CLOSE cursor_name 【提示】 ·关闭游标后,不能

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档