《第10章游标-精品文档资料整理.ppt》由会员分享,可在线阅读,更多相关《第10章游标-精品文档资料整理.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第10章章 游标游标游游标是用来存是用来存储一个一个记录集的集的对象。游象。游标可以帮助可以帮助用用户灵活地灵活地处理理记录集数据,就像操作一个表一集数据,就像操作一个表一样。游。游标也也可以用来将可以用来将查询结果返回果返回给应用程序或存用程序或存储过程。本章将程。本章将讲解解对游游标的定的定义与操作。与操作。10.1 游标简介游标简介游游标(Cursor)使用)使用户可逐行可逐行访问由由SQL Server返返回的回的结果集。使用游果集。使用游标的一个主要原因就是游的一个主要原因就是游标可以把集合可以把集合操作操作转换成多个成多个单个个记录的多次的多次处理方式。用理方式。用SQL语言从数
2、言从数据据库中中检索数据后,索数据后,结果放在内存的一果放在内存的一块区域中,且区域中,且结果通果通常是一个包含多个常是一个包含多个记录的集合。游的集合。游标机制允机制允许用用户在在SQL Server内逐行地内逐行地访问这些些记录,让用用户按照自己的需要来按照自己的需要来显示和示和处理理这些些记录。10.2 游标的基本操作游标的基本操作游游标的基本操作有的基本操作有5个:声明游个:声明游标、打开游、打开游标、读取取游游标数据、关数据、关闭游游标、释放游放游标。这5个操作完整地覆盖了个操作完整地覆盖了游游标的整个操作的整个操作过程。程。10.2.1 声明游标声明游标SQL Server中声明游
3、中声明游标与声明与声明变量都使用量都使用DECLARE语句。其基本句。其基本语法格式如下。法格式如下。DECLARE CursorName INSENSITIVE SCROLL CURSOR FOR 其中,其中,CursorName表示要表示要创建的游建的游标名称;名称;SELECT语句可以是句可以是简单查询,也可以是复,也可以是复杂的接的接连查询和嵌套和嵌套查询。下面。下面对其中的两个重要参数其中的两个重要参数进行行说明。明。1参数参数INSENSITIVE2参数参数SCROLL10.2.2 打开游标打开游标当游当游标定定义完成后,需要用完成后,需要用OPEN语句打开游句打开游标进行操作。行
4、操作。10.2.3 读取游标数据读取游标数据打开游打开游标后,可以使用后,可以使用FETCH语句来句来读取游取游标数据。数据。10.2.4 关闭和释放游标关闭和释放游标当游当游标使用完使用完毕后,需要关后,需要关闭游游标。SQL Server提提供了供了CLOSE语句来关句来关闭游游标。10.3 使用游标使用游标前面前面讲解了游解了游标的一些基本概念,下面将就的一些基本概念,下面将就讲解在解在实际使用中游使用中游标的用法。的用法。10.3.1 用游标处理数据用游标处理数据例如要用游例如要用游标将学生信息表中的学生姓名和出生日将学生信息表中的学生姓名和出生日期打印出来,可以使用以下代期打印出来,
5、可以使用以下代码。10.3.2 使用游标变量使用游标变量前面曾前面曾经介介绍过游游标数据数据类型。作型。作为一种数据一种数据类型,型,有的有的变量也可以被声明量也可以被声明为游游标类型,型,进行与游行与游标相同的操相同的操作。游作。游标变量的操作量的操作过程与游程与游标相同,都有声明、打开、相同,都有声明、打开、取得数据、关取得数据、关闭和和释放放这几几项操作。操作。10.3.3 在存储过程中使用游标在存储过程中使用游标存存储过程中使用游程中使用游标最常最常见的情况就是把游的情况就是把游标作作为参数返回参数返回给调用者,使用用者,使用户在运行一个存在运行一个存储过程后,可以将程后,可以将想要的
6、数据集以游想要的数据集以游标的形式取得。的形式取得。10.4 在游标中常用的变量、函数和存储过程在游标中常用的变量、函数和存储过程如前所述,游如前所述,游标中最常用的系中最常用的系统变量是量是fetch_status。除了。除了这个系个系统变量外,量外,SQL Server还提供了一些其他提供了一些其他变量、函数和存量、函数和存储过程来帮助用程来帮助用户更灵活地更灵活地使用游使用游标。10.4.1 使用系统变量查看游标信息使用系统变量查看游标信息SQL Server中提供了两个系中提供了两个系统变量用来量用来查看游看游标信息,信息,分分别是是fetch_status和和cursor_rows。
7、1fetch_status2cursor_rows10.4.2 使用函数查看游标状态使用函数查看游标状态SQL Server提供了提供了查看游看游标状状态的函数的函数CURSOR_STATUS。使用。使用该函数可以函数可以查看一个游看一个游标是否已是否已经打开打开。10.4.3 使用系统存储过程查看游标属性使用系统存储过程查看游标属性SQL Server提供了一些系提供了一些系统过程程对游游标进行管理,游行管理,游标的系的系统过程主要有以下几个:程主要有以下几个:sp_cursor_list、sp_describe_cursor、sp_describe_cursor_tables、sp_des
8、cribe_cursor_columns。下面分。下面分别介介绍这几个系几个系统过程的具体功能。程的具体功能。1系系统存存储过程程sp_cursor_list2系系统存存储过程程sp_describe_cursor10.5 小结小结本章本章讲解了游解了游标的概念与使用方法,其中的的概念与使用方法,其中的难点在点在于于对游游标的理解。游的理解。游标在在实际应用中非常广泛,所有需要用中非常广泛,所有需要对成成组数据数据处理的地方几乎都要用到它。理的地方几乎都要用到它。读者需熟者需熟练掌握游掌握游标操作的操作的5个步个步骤。10.6 习题习题(1)创建一个游建一个游标,从学生信息表中取出学生姓名,从学生信息表中取出学生姓名与出生日期,与出生日期,输出学生的姓名与当前年出学生的姓名与当前年龄。(2)创建一个游建一个游标,组合合查询出学生的姓名与各科出学生的姓名与各科成成绩,并算出各科平均分。,并算出各科平均分。