第10章游标操作和应用教案.pptVIP

  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文档。上传文档
查看更多
第10章游标操作和应用教案

RELATIVE {n | @nvar} 若n或@nvar为正数,则读取游标当前位置起向后的第n或@nvar行数据;如果n或@nvar为负数,则读取游标当前位置起向前的第n或@nvar行数据。若n或@nvar超过游标的数据子集范畴,则@@FETCH_STARS 返回-1,在该情况下,如果n或@nvar为负数,则执行FETCH NEXT命令则会得到第一行数据;如果n或@nvar为正值,执行FETCH PRIOR命令则会得到最后一行数据。n 或@nvar可以是一固定值也可以是一smallint, tinyint或int类型的变量。 * * * 返 回 值 描 述 0 FETCH命令被成功执行。 -1 FETCH命令失败或所指定的范围超出了范围。 -2 要取的行不在记录集内,已从集合中删除 表10-2 @@FETCH_STATUS变量 * 10.2.3 关闭游标 在处理完游标中数据之后必须关闭游标来释放数据结果集和定 位于数据记录上的锁,有两种方法关闭游标。 1.使用CLOSE命令关闭游标 格式: CLOSE { { [GLOBAL] 游标名 } | 游标变量 } 说明:CLOSE语句关闭游标,但不释放游标占用的数据结构,应用程序可以再次执行OPEN语句打开和填充游标。 2.自动关闭游标 游标可应用在存储过程、触发器和Transact_SQL脚本中。如果在声明游标与释放游标之间使用了事务结构,则在结束事务时游标会自动关闭。 * * ?例如以下执行过程: (1)声明一个游标 (2)打开游标 (3)读取游标 (4)BEGIN TRANSATION (5)数据处理 (6)COMMIT TRANSATION (6)回到步骤(3) * * ??? 10.2.4 释放游标 当CLOSE命令关闭游标时,并没有释放游标占用的数据结构。因此要使用DEALLOCATE命令,删除掉游标与游标名或游标变量之间的联系,并且释放游标占用的所有系统资源。 语法格式: DEALLOCATE { { [GLOBAL] 游标名 } | 游标变量} * * * 参数说明: (1)对游标进行操作的语句使用游标名称或游标变量引用游标。DEALLOCATE删除游标与游标名称或游标变量之间的关联。如果一个名称或变量是最后引用游标的名称或变量,则将释放游标,游标使用的任何资源也随之释放。 (2)DEALLOCATE{游标变量}语句只删除对游标命名变量的引用。直到批处理、存储过程或触发器结束时变量离开作用域,才释放变量。在DEALLOCATE @cursor_variable_name 语句之后,可以使用SET语句使变量与另一个游标关联。 * 例如: USE 教学管理 GO DECLARE @MyCursor CURSOR SET @MyCursor = CURSOR LOCAL SCROLL FOR SELECT * FROM STUDENT --下面语句释放游标及游标占用的资源 DEALLOCATE @MyCursor --用SET命令将游标变量@MyCursor同另一个游标关联 SET @MyCursor = CURSOR LOCAL SCROLL FOR SELECT * FROM COURSE GO * * 10.2.5 游标定位修改和删除操作 如果在声明游标时使用了FOR UPDATE语句,那么就可以在UPDATE或DELETE命令中以WHERE CURRENT OF关键字直接修改或删除当前游标中当前行的数据。当改变游标中数据时,这种变化会自动地影响到游标的基础表。但是如果在声明游标时选择了INSENSITIVE选项时,该游标中的数据不能被修改,具体含义请参看声明游标一节中对INSENSITIVE选项的详细解释。 * * 10.2.5 游标定位修改和删除操作 语法格式: 游标定位修改UPDATE语句的格式如下 UPDATE 表名 SET 子句 WHERE CURRENT OF {{[GLOBAL] 游标名} |游标变量} 游标定位删除DELETE语句的格式为如下 DELETE FROM 表名 WHERE CURRENT OF {{[GLOBAL] 游标名} |游标变量} * * 10.3 游标应用实例分析 * * 10.3 游标应用实例分析 * * 10.3 游标应用实例分析 * * 小 结 游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,并在应用程序当中进行单个处理。游标通过以下方式对SQL语句结果集进行处

文档评论(0)

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

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

1亿VIP精品文档

相关文档