来获得所需要的结果。本章将对游标的使用进行详细讲解。.docVIP

来获得所需要的结果。本章将对游标的使用进行详细讲解。.doc

  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文档。上传文档
查看更多
来获得所需要的结果。本章将对游标的使用进行详细讲解。

游标是取用一组数据并能够一次与一个单独的数据进行交互的方法,然而,不能通过在整个行集中修改或者选取数据来获得所需要的结果。本章将对游标的使用进行详细讲解。 通过阅读本章,您可以: ( 掌握游标的概念 ( 了解游标的类型 ( 掌握游标的基本操作 ( 了解游标系统存储过程 ( 掌握使用系统过程查看游标的方法 13.1 游标的概述 视频讲解:光盘\TM\lx\13\游标的概述.mp4 游标是取用一组数据并能够一次与一个单独的数据进行交互的方法。关系数据库中的操作会对整个行集起作用。由SELECT语句返回的行集包括满足该语句的WHERE子句中条件的所有行。这种由语句返回的完整行集称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制并对结果集的一种扩展。 游标通过以下方式来扩展结果处理: 允许定位在结果集的特定行。 从结果集的当前位置检索一行或一部分行。 支持对结果集中当前位置的行进行数据修改。 为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持。 提供脚本、存储过程和触发器中用于访问结果集中的数据的 Transact-SQL 语句。 游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据时,游标显得十分重要。 13.1.1 游标的实现 游标提供了一种从表中检索数据并进行操作的灵活手段,游标主要用在服务器上,处理由客户端发送给服务器端的SQL语句,或是批处理、存储过程、触发器中的数据处理请求。游标的优点在于它可以定位到结果集中的某一行,并可以对该行数据执行特定操作,为用户在处理数据的过程中提供了很大方便。一个完整的游标由5部分组成,并且这5个部分应符合下面的顺序。 (1)声明游标。 (2)打开游标。 (3)从一个游标中查找信息。 (4)关闭游标。 (5)释放游标。 13.1.2 游标的类型 SQL Server提供了4种类型的游标:静态游标、动态游标、只进游标和键集驱动的游标。这些游标的检测结果集变化的能力和内存占用的情况都有所不同,数据源没有办法通知游标当前提取行的更改。游标检测这些变化的能力也受事务隔离级别的影响。 1.静态游标 静态游标的完整结果集在游标打开时建立在tempdb中。静态游标总是按照游标打开时的原样显示结果集。静态游标在滚动期间很少或根本检测不到变化,虽然它在tempdb中存储了整个游标,但消耗的资源很少。尽管动态游标使用tempdb的程度最低,在滚动期间它能够检测到所有变化,但消耗的资源也更多。键集驱动游标介于二者之间,它能检测到大部分的变化,但比动态游标消耗更少的资源。 2.动态游标 动态游标与静态游标相对。当滚动游标时,动态游标反映结果集中所做的所有更改。结果集中的行数据值、顺序和成员在每次提取时都会改变。所有用户做的全部UPDATE、INSERT和DELETE语句均通过游标可见。 3.只进游标 只进游标不支持滚动,它只支持游标从头到尾顺序提取。只有从数据库中提取出来后才能进行检索。对所有由当前用户发出或由其他用户提交、并影响结果集中的行的INSERT、UPDATE和DELETE语句,其效果在这些行从游标中提取时是可见的。 4.键集驱动游标 打开游标时,键集驱动游标中的成员和行顺序是固定的。键集驱动游标由一套被称为键集的唯一标识符(键)控制。键由以唯一方式在结果集中标识行的列构成。键集是游标打开时来自所有适合SELECT语句的行中的一系列键值。键集驱动游标的键集在游标打开时建立在tempdb中。对非键集列中的数据值所做的更改(由游标所有者更改或其他用户提交)在用户滚动游标时是可见的。在游标外对数据库所做的插入在游标内是不可见的,除非关闭并重新打开游标。 13.2 游标的基本操作 视频讲解:光盘\TM\lx\13\游标的基本操作.mp4 游标的基本操作包括声明游标、打开游标、读取游标中的数据、关闭游标和释放游标。本节就详细介绍如何操作游标。 13.2.1 声明游标 声明游标可以使用DECLARE CURSOR语句。此语句有两种语法声明格式,分别为ISO标准语法和Transact-SQL扩展的语法,下面将分别介绍声明游标的两种语法格式。 1.ISO标准语法 语法如下: DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ] 参数说明如下。 DECLARE cursor_n

文档评论(0)

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

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

1亿VIP精品文档

相关文档