第6章 视图、索引和游标.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理及应用案例教程(SQLServer)胡锦丽版~绝对经典实用!

* 第*页 6.3.2游标的类型 1. 根据用途分类 根据游标用途的不同,SQL Server 2005将游标分为3种:T-SQL游标、API游标、客户游标。 (1)T-SQL游标 基于DECLARE CURSOR语法,主要用于T-SQL脚本、存储过程和触发器。T-SQL游标在服务器上实现并由从客户端发送到服务器的T-SQL语句管理。 (2)应用程序编程接口(API)服务器游标 支持OLE DB和ODBC中的API游标函数。API服务器游标在服务器上实现。每次客户端应用程序调用API游标函数时,SQL Native Client OLEDB访问接口或ODBC驱动程序将把请求传输到服务器,以便对API服务器游标进行操作。 * 第*页 6.3.2 游标的类型 (3)客户端游标 由SQL Native Client ODBC驱动程序和实现ADO API的DLL在内部实现。客户端游标通过在客户端高速缓存所有结果集行实现。 由于T-SQL游标和API服务器游标都在服务器上实现,所以它们统称为服务器游标。 用服务器游标代替客户端游标有以下几个优点:、 (1)性能更高。在访问游标中的部分数据时,使用服务器游标能够提供最佳的性能,因为只通过网络发送提取的数据。客户端游标则将整个结果集高速缓存在客户端。 (2)更精确的定位更新。服务器游标直接支持定位操作,客户端游标可以模拟定位游标更新,如果有多个行满足UPDATE语句的WHERE子句的条件,这将导致意外更新。 (3)内存使用效率更高。在使用服务器游标时,客户端无需高速缓存大量数据或维护游标位置的信息,因为这些工作由服务器完成。 * 第*页 6.3.2 游标的类型 2. 根据处理特性分类 根据T-SQL服务器游标的处理特性,SQL Server 2005将游标分为4种:静态游标、动态游标、只进游标和键集驱动游标。 (1)静态游标 静态游标的完整结果集在游标打开时建立在tempdb中。静态游标总是按照游标打开时的原样显示结果集。静态游标不反映在数据库中所做的任何影响结果集成员身份的更改,也不反映对组成结果集中行或列值所做的更新。 注意: SQL Server 2005静态游标始终时只读的。由于静态游标的结果集存储在tempdb的工作表中,因此结果集中的行大小不能超过SQL Server表的最大行大小。 * 第*页 6.3.2 游标的类型 (2)动态游标 动态游标与静态游标相反。当滚动游标时,动态游标反映结果集中所做的所有更改。结果集中的行数据值、顺序和成员在每次提取时都会发生改变。所有用户做的全部UPDATE、INSERT和DELETE操作通过游标都可以显示。 (3)只进游标 只进游标不支持滚动,它只支持游标从头到尾顺序提取。行只在从数据库中提取出来后才能检索。SQL Server 2005将只进和滚动都作为能应用于静态游标、键集驱动游标和动态游标的选项。T-SQL游标支持只进静态游标、键集驱动游标和动态游标。 * 第*页 6.3.2 游标的类型 (4)键集驱动游标 键集驱动游标打开时,该游标中各行的成员身份和顺序是固定的。键集驱动游标由一组惟一标识符(键)控制,这组键称为键集。键是根据以惟一方式标识结果集中各行的一组列生成的。键集是打开游标时来自符合SELECT语句要求的所有行中的一组键值。由键集驱动的游标对应的键集是打开该游标时在tempdb中生成的。 当用户滚动游标时,对非键集列中的数据值所做的更改(由游标所有者做出或由其他用户提交)是可见的。在游标外对数据库库所做的插入,在游标内是不可见的,除非关闭并重新打开游标。 * 第*页 6.3.2 游标的类型 3. 根据移动方式分类 根据T-SQL服务器游标在结果集中的移动方式,SQL Server 2005将游标分为两种:滚动游标和前向游标。 (1)滚动游标 在游标结果集中,滚动游标可以前后移动,包括移向下一行、上一行、第一行、最后一行、某一行或移到指定行等。 (2)向前游标 在游标结果集中,前向游标只能向前移动,即移到下一行。 * 第*页 6.3.2 游标的类型 4. 根据是否允许修改分类 根据T-SQL服务器游标结果集是否允许修改,SQL Server 2005将游标分为两种:只读游标和只写游标。 (1)只读游标 只读游标禁止修改游标结果集中的数据。 (2)只写游标 只写游标可以修改游标结果集中的数据,它又分为部分可写和全部可写,部分可写表示只能修改数据行指定的列,而全部可写表示可以修改数据行所有的列。 * 第*页 6.3.3 声明游标 声明游标是指利用SELECT查询语句创建游标的结构,指明游标的结果集中包含哪

文档评论(0)

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

1亿VIP精品文档

相关文档