- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
尚辅网 第9章 游标 1、掌握游标的概念 2、学习游标的定义 3、掌握功能和游标的类型 4、掌握游标的基本操作 第9章 游标 9.1 游标的概述 9.2 游标的基本操作 9.3 使用系统过程查看游标信息 SQL Server 2005通过游标提供了对一个结果集进行逐行处理的功能。游标可以被看作是一个指针,它与一个结果集相关联。在游标打开时,游标指向结果集第一条记录的顶部,游标的移动范围为整个结果集,游标指向的记录为当前记录,游标可以指向结果集的任何位置,以便对指定位置的记录进行处理。 9.1.1 游标的功能 应用程序通过游标对查询语句返回的结果集中的每一行进行相同或不同处理,而不是一次对整个结果集进行统一操作,游标提供了对当前记录的更新和删除功能,具体的处理功能有以下几个方面: 1.允许定位在结果集的特定行。 2.可从结果集的当前位置检索一行或部分行。 3.支持对结果集中当前位置的行进行数据修改。 4.为由其他用户对显示在结果集中的记录所做的更改,提供不同级别的可见性支持。 5.提供用于访问结果集中记录的 T-SQL 语句。 9.1.2 游标的类型 在SQL Server 2005中,根据游标的使用方式、用途等不同,可以将游标分为多种类型。 1.根据运行的位置和用途分类 (1)T-SQL游标 T-SQL游标是使用DECLARE CURSOR等T-SQL语句进行定义,主要用于T-SQL脚本、存储过程和触发器中。T-SQL游标主要用在服务器上,处理由客户端发送给服务器的T-SQL语句请求。 T-SQL游标名称和在游标中定义的变量只能在T-SQL语句中引用,而不能由OLE DB、ODBC、ADO和DB-library的API中函数引用。 (2)API服务器游标(应用程序编程接口服务器游标) API服务器游标支持OLE DB、ODBC 、ADO和DB-library中使用的游标函数。OLE DB、ODBC 和 ADO API 支持将游标映射到已执行SQL语句的结果集中。每次客户端应用程序调用API游标函数时,Microsoft SQL Native Client OLE DB 访问接口和 SQL Native Client ODBC 驱动程序将客户请求传输到服务器,以便对API服务器游标进行操作。 (3)客户游标 客户游标,即在客户端实现的游标。ODBC支持客户端游标,客户游标主要在客户机上缓存结果集时使用,由SQL Native Client ODBC驱动程序和实现ADO API的DLL在内部实现。客户端游标通过在客户端高速缓存所有结果集来实现。每次客户端应用程序调用API游标函数时,SQL Native Client ODBC驱动程序或ADO DLL就对客户端高速缓存的结果集执行游标操作。 T-SQL游标和API服务器游标都在服务器上实现,所以将它们统称为服务器游标。本书只介绍T-SQL服务器游标。 2.根据处理特性分类 根据T-SQL服务器游标的处理特性,可将游标分为4种类型:静态游标、动态游标、只进游标和键集驱动游标。 (1)静态游标(STATIC Cursor) 静态游标的完整结果集在游标打开时建立在Tempdb中。静态游标总是按照游标打开时的原样显示结果集。静态游标不反映在数据库中所做的任何影响结果集的更改,也不反映对组成结果集中行或列值所做的更新。静态游标不会显示游标打开以后在数据库中新插入的行,即使这些行符合游标SELECT语句的搜索条件。如果组成结果集的行被其他用户更新,则新的数据值不会显示在静态游标中。静态游标显示打开游标以后从数据库中删除的行。静态游标中不会反映UPDATE、INSERT或DELETE操作。静态游标始终是只读的。由于静态游标的结果集存储在tempdb数据库的工作表中,因此结果集中行的大小不能超过SQL Server表的最大行大小。 (2)动态游标(DYNAMIC Cursor) 动态游标与静态游标相反。当游标移动时,它时时的反映结果集中所做的任何更改。结果集中行数据的值、顺序在每次提取时都会发生改变。所有用户所做的UPDATE、INSERT、DELETE操作通过游标都可以反映出来。 (3)只进游标(FAST_FORWARD Cursor) 只进游标不支持滚动,它只支持游标从头到尾的顺利提取。行只有从数据库中提取出来后才能检索。对所有由当前用户发出或由其他用户提交,并影响结果集中行的INSERT、UPDATE、DELETE语句,其效果在这些行从游标中提取时是可见的。 SQL Server 2005将只进和滚动都作为能应用于静态游标、键集驱动游标和动态游标的选项。T-SQL游标支持只进静态游标、键集驱动游标和动态游标。 (4)键集驱动游标(KEYSET Cursor)
您可能关注的文档
- SQL Server 2005数据库实践教程——管理与维护篇电子教案钱哨 3.第三章 .数据库备份与恢复技术.PPT
- SQL Server 2005数据库实践教程——管理与维护篇电子教案钱哨 4.第四章 .数据库转换与复制技术.ppt
- SQL Server 2005数据库实践教程——管理与维护篇电子教案钱哨 5.第五章 .SQL Server 2005的安全性.ppt
- SQL Server 2005数据库实践教程——管理与维护篇电子教案钱哨 6.第六章 .自动化管理任务.ppt
- SQL Server 2005数据库实践教程——管理与维护篇电子教案钱哨 7.第七章 .数据库维持高可用性.ppt
- SQL Server 2005数据库实践教程——管理与维护篇电子教案钱哨 8.第八章 .SQL Server 2005的分析服.ppt
- SQL Server 2005数据库实践教程——管理与维护篇电子教案钱哨 9.第九章 .SQL Server 2005 报表服务.ppt
- SQL Server 2005数据库实践教程——开发与设计篇电子教案钱哨 第1章 关系数据库标准语言SQL.ppt
- SQL Server 2005数据库实践教程——开发与设计篇电子教案钱哨 第2章 T SQL 程序设计基础.ppt
- SQL Server 2005数据库实践教程——开发与设计篇电子教案钱哨 第3章 事务处理、并发控制及数据库优化.ppt
文档评论(0)