- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据存放到指定的变量中。这些 变量必须和cursor声明中的 SELECT语句所选取的列一一对 应,且数据类型必须相同。 每次执行FETCH命令读取数据 后,FETCH语句的执行状态都会 保存在@@FETCH_STATUS此 全局变量中,如果需要可以检查 @@FETCH_STATUS的值以确 定数据读取是否成功。 @@FETCH_STATUS的值有以 下三种可能: (1)读取成功。 (2)-1 读取失败,游标所指位 置超过数据子集范围。 (3)-2 所读取的数据行已被删 除。 当FETCH语句读取范围超过 数据子集范围,cursor指向数据 子集的第一行之前或最后一行之 后,@@FETCH_STATUS值为- 1。打开cursor时,cursor指向 结果集第一行之前。 如果当第一次读取数据时执 行FETCH NEXT语句,将读取结 果集的第一行,当cursor指向最 后一行时执行FETCH NEXT语 句,将无值返回, @@FETCH_STATUS值为-1, cursor指向最后一行之后。 若此时执行FETCH PRIOR 语句,将返回最后一行。当 cursor指向第一行或当第一次读 取数据时,执行FETCH PRIOR 语句,将无值返回, @@FETCH_STATUS值为-1, cursor指向第一行之前。若此时 执行FETCH NEXT,返回第一行 数据。 如果是FORWARD_ONLY 或FAST_FORWARD游标,只 能使用NEXT关键字一行一行往 下读取,读到最后一条数据时也 无法回到第一条数据重头读取, 除非先关闭再重新打开游标。 这种游标常用在报表的处理上, 因为依据报表的打印特点,每条 数据读取一次即打印到报表上不 再需要回头读取。 如果是DYNAMIC SCROLL 游标,不能使用ABSOLUTE选 项。 如果是KEYSET、STATIC 或SCROLL游标,且没有指定 DYNAMIC、FORWARD_ONLY 或FAST_FORWARD关键字, FETCH命令中所有的选项都可使 用。 【例10-5】定义游标,然后打开 游标,测试游标内数据。 DECLARE xc_cur2 CURSOR KEYSET FOR SELECT 车牌号,出车单号,调度 号 FROM xc OPEN xc_cur2 FETCH NEXT FROM xc_cur2 执行结果如图10.4。 若第二次读取时,输入以下 语句 FETCH ABSOLUTE 4 FROM xc_cur2 执行结果如图10.5。 图10-5 第二次读取游标结果 若第三次读取时,输入以下 语句 FETCH LAST FROM xc_cur2 SELECT ‘FETCH执行状态 ’=@@FETCH_STATUS 执行结果如图10.6。 图10-6 第三次读取游标结果 若第四次读取时,输入以下 语句 FETCH NEXT xc_cur2 SELECT ‘FETCH执行状态 ’=@@FETCH_STATUS 执行结果如图10.7。 图10-7 第四次读取游标结果 四、通过游标修改数据 通过游标可以实现更及时和更 精确的定位更新。在某些时候,当 使用cursor读取某条数据后,可 能需要修改或删除该数据,如果此 时另外执行UPDATE或DELETE命 令,需要在WHERE子句中重新给 出行筛选条件,才能修改到该条数 据。如果有多个行满足 UPDATE 语句或DELETE语句中 WHERE 子句的条件,那么将导致无意识 的更新和删除。 为了避免这样的麻烦,可以在 cursor声明中加上FOR UPDATE 子句,这样就可以在UPDATE 或 DELETE命令中使用WHERE CURRENT OF 子句,直接修改 或删除当前cursor所指的行数 据,而不必重新给定选取条件。当 cursor声明中有INSENSITIVE选 项或STATIC选项,cursor内的数 据无法被修改,有时即使没有使用 INSENSITIVE选项,但在某些状 况下,INSENSITIVE特性仍然会 被启动,在这种情况下,该ursor 内的数据仍无法被修改。 【例10-6】定义游标,然后打开游 标,修改游标内数据。 DECLARE jsy_cur4 CURSOR GLOBAL SCROLL SCROLL_LOCKS FOR SELECT 驾照号, 姓名, 积分 FROM jsy 提取数据行。 select_statement为SELECT语 句,由该查询生成与cursor相关 联的结果集。SELECT语句中不 能使用COMPUTE、COMPUTE BY、FOR BROWSE 和INTO关 键字。如果在SE
您可能关注的文档
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第2章 数据库创建.ppt
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第3章 表与表数据操作.ppt
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第4章 数据库查询和视图.ppt
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第5章 TSQL语言.ppt
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第6章 索引与数据完整性.ppt
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第7章 存储过程和触发器.ppt
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第8章 备份与恢复.ppt
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第9章 系统安全管理.ppt
- SQL Server 数据库教程 2008版 教学课件 作者 郑阿奇 刘启芬 顾韵华 第10章 事务、锁定、自动化和服务.ppt
- SQL Server2000实用教程 教学课件 作者 蒋文沛 第5章.ppt
- SQL Server基础教程 教学课件 作者 董翔英 等 第11章.ppt
- SQL Server基础教程 教学课件 作者 董翔英 等 第12章.ppt
- SQL Server基础教程 教学课件 作者 董翔英 等 第13章.ppt
- SQL Server基础教程 教学课件 作者 董翔英 等 第14章.ppt
- SQL Server实用简明教程(第二版) 教学课件 作者 ch01.ppt
- SQL Server实用简明教程(第二版) 教学课件 作者 ch02.ppt
- SQL Server实用简明教程(第二版) 教学课件 作者 ch03.ppt
- SQL Server实用简明教程(第二版) 教学课件 作者 ch04.ppt
- SQL Server实用简明教程(第二版) 教学课件 作者 ch05.ppt
- SQL Server实用简明教程(第二版) 教学课件 作者 ch06.ppt
最近下载
- 教你如何破解软件OD破解软件OD使用教程.doc VIP
- 施工重大危险源辨识与防控措施月报表.pdf VIP
- 人教版(部编版)小学语文五年级上册 圆明园的毁灭第二课时 名师教学PPT课件.pptx VIP
- 一体机-柯尼卡美能达-bizhubC220说明书.pdf VIP
- BS EN 60079-32-2-2015 国外国际规范.pdf VIP
- 急诊科患者转运途中突然病情变化应急预案.pptx VIP
- G30连云港至霍尔果斯高速景家口至清水驿段扩容改造报告书.pdf VIP
- 股骨粗隆间骨折护理查房——护理问题及措施与健康指导.ppt VIP
- 零星工程 投标方案(技术方案).docx
- 一种比色法检测金黄色葡萄球菌活菌的Cu-MOF材料及其制备方法和应用.pdf VIP
文档评论(0)