第10章 游标的使用.pptxVIP

  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章游标的使用概要1

第10章 游标的使用;第10章 游标的使用;10.1 游标的概述;10.1.1 游标的实现;10.1.2 游标的类型;4.键集驱动游标 打开游标时,键集驱动游标中的成员和行顺序是固定的。键集驱动游标由一套被称为键集的惟一标识符(键)控制。键由以惟一方式在结果集中标识行的列构成。键集是游标打开时来自所有适合SELECT语句的行中的一系列键值。键集驱动游标的键集在游标打开时建立在tempdb中。对非键集列中的数据值所做的更改(由游标所有者更改或其他用户提交)在用户滚动游标时是可见的。在游标外对数据库所做的插入在游标内是不可见的,除非关闭并重新打开游标。 ;10.2 游标的基本操作;10.2.1 声明游标; READ ONLY:表明不允许游标内的数据被更新,尽管在默认状态下游标是允许更新的。在UPDATE或DELETE语句的WHERE CURRENT OF子句中不允许引用游标。 UPDATE [ OF column_name [ ,...n ] ]:定义游标内可更新的列。如果指定OF column_name [,...n]参数,则只允许修改所列出的列。如果在UPDATE中未指定列的列表,则可以更新所有列。 2.Transact-SQL 扩展的语法 语法如下: DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ] [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ] [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] [ TYPE_WARNING ] FOR select_statement [ FOR UPDATE [ OF column_name [ ,...n ] ] ] ;DECLARE CURSOR语句的参数及说明如表10-1所示。 表10-1 DECLARE CURSOR语句的参数及说明 ;【例10-1】 创建一个名为“Cur_Emp”的标准游标,SQL语句如下。 USE db_2008 DECLARE Cur_Emp CURSOR FOR SELECT * FROM Employee GO 【例10-2】 创建一个名为“Cur_Emp_01”的只读游标,SQL语句如下。 USE db_2008 DECLARE Cur_Emp_01 CURSOR FOR SELECT * FROM Employee FOR READ ONLY --只读游标 GO 【例10-3】 创建一个名为“Cur_Emp_02”的更新游标,SQL语句如下。 USE db_2008 DECLARE Cur_Emp_02 CURSOR FOR SELECT Name,Sex,Age FROM Employee FOR UPDATE --更新游标 GO ;10.2.2 打开游标;【例10-4】 首先声明一个名为Emp_01的游标,然后使用OPEN命令打开该游标,SQL语句如下。 USE db_2008 DECLARE Emp_01 CURSOR FOR --声明游标 SELECT * FROM Employee WHERE ID = 1 OPEN Emp_01 --打开游标 GO ;10.2.3 读取游标中的数据;FETCH命令的参数及说明如表10-2所示。 表10-2 FETCH命令的参数及说明 ;【例10-5】 用 @@FETCH_STATUS 控制一个 WHILE 循环中的游标活动,SQL语句及运结果如图10-1所示。 图10-1 从游标中读取数据 说明:当使用SQL-92语法来声明一个游标时,没有选择SCROLL选项,则只能使用FETCH NEXT命令来从游标中读取数据,即只能从结果集第一行按顺序地每次读取一行。由于不能使用FIRST、LAST、PRIOR,所以无法回滚读取以前的数据。如果选择了SCROLL选项,则可以使用所有的FETCH操作。 ;10.2.4 关闭游标;10.2.5 释放游标;10.4 综合实例——利用游标在商品表中返回指定商品行数据;(3)单击执行按钮,查询结果如图10-2所示。 图10-2 利用游标在商品表中返回指定商品行数据 ;知识点提炼;习 题;实验:关闭释放游标;(2)在新建查询编辑器中输入下面的语句: USE db_2008 GO DECLARE mycursor CURSOR FOR --声明游标 SELECT gname as 商品名称,count(*) as 商品记录数,sum(number)as 商品数量 FROM goods WHERE number 3 G

文档评论(0)

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

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

1亿VIP精品文档

相关文档