网站大量收购闲置独家精品文档,联系QQ:2885784924

sql2000课件第9章游标事务与锁.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 游标、事务与锁 本章学习目标 l ? 理解游标、事务的概念及作用 l 了解锁的相关知识 l 掌握并灵活运用游标和事务以提高系统开发效率 l???????? cursor_name :为游标名称。游标命名必须遵从Transact-SQL标识符规则。 l???????? INSENSITIVE:定义一个游标时将在tempdb数据库中创建一个临时表,用于存储由该游标提取的数据。任何通过这个游标进行的操作,都在这个临时表里进行。因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。如果省略 INSENSITIVE,那么用户对基表进行的任何操作都将在游标中反映出来。 l???????? SCROLL:指定所有的提取选项(FIRST、LAST、PRIOR、NEXT、RELATIVE、ABSOLUTE)均可用。如果在声明时未指定 SCROLL,则声明的游标只具有默认的 NEXT 功能。是唯一支持的提取选项。如果指定 SCROLL,则不能也指定 FAST_FORWARD。 l???????? select_statement:是定义游标结果集的标准SELECT 语句。在游标声明的SELECT语句内不允许使用关键字 COMPUTE、COMPUTE BY、FOR BROWSE 和 INTO。 l???????? READ ONLY:设置游标为只读,使用该关键字时,不能通过该游标更新数据。在 UPDATE 或 DELETE 语句的 WHERE CURRENT OF 子句中不能引用游标。 l???????? UPDATE [OF column_name [,...n]]:定义游标内可更新的列。如果指定 OF column_name [,...n] 参数,则只允许修改所列出的列。如果在 UPDATE 中未指定默认为可以更新所有列。 2.?????? 打开游标 在使用游标之前,必须首先打开游标,方可执行指定操作。语法格式如下: OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name } l???????? N: 该CURSOR所定义的数据已完全从表中读入,N为全部的数据行。 l???????? -M:该CURSOR所定义的数据未完全从表中读入,M为目前CURSOR数据子集内的数据行。 l???????? 0:无符合条件的数据或该CURSOR已被关闭或释放。 l? -1:该游标为动态的,数据行经常变动无法确定。 l????cursor_name:已声明的游标名称。如果全局游标和局部游标都使用 cursor_name 作为其名称,那么如果指定了 GLOBAL,cursor_name 指的是全局游标,否则 l?? cursor_name 指的是局部游标。 打开一个游标以后,可以使用无参函数@@ERROR来判断打开操作是否成功。如果这个函数的返回植为0,则表示游标打开成功,否则表示游标打开失败。当游标打开成功之后,可以使用无参函数@@CURSOR_ROWS来获取这个游标中当前存在的记录行数。无参函数@@CURSOR_ROWS有四种可能的取值: l???????? NEXT:返回紧跟当前行之后的结果行,并且当前行递增为结果行。如果 FETCH NEXT 为对游标的第一次提取操作,则返回结果集中的第一行。NEXT 为默认的游标提取选项。 l???????? PRIOR:返回紧临当前行前面的结果行,并且当前行递减为结果行。如果 FETCH PRIOR 为对游标的第一次提取操作,则没有行返回并且游标置于第一行之前。 l???????? FIRST:返回游标中的第一行并将其作为当前行。 l???????? LAST:返回游标中的最后一行并将其作为当前行。 l???????? RELATIVE {n | @nvar}:如果 n 或 @nvar 为正数,返回当前行之后的第 n 行并将返回的行变成新的当前行。如果 n 或 @nvar 为负数,返回当前行之前的第 n 行并将返回的行变成新的当前行。如果 n 或 @nvar 为 0,返回当前行。如果对游标的第一次提取操作时将 FETCH RELATIVE 的 n 或 @nvar 指定为负数或 0,则没有行返回。n 必须为整型常量且 @nvar 必须为 smallint、tinyint 或 int。 l???????? GLOBAL:指定 cursor_name 指的是全局游标。 l???????? @cursor_variable_name:游标变量名,引用要进行提取操作打开的游标。 l???????? INTO @variable_name[,.

文档评论(0)

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

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

1亿VIP精品文档

相关文档