《数据库原理与应用》(第三版) 课件 第9章 游标.pdf
文本预览下载声明
第9章游标
· 9.1游标概述
· 9.2创建游标——DECLARE CURSOR
· 9.3打开游标——OPEN
· 9.4检索游标数据——FETCH
· 9.5更新游标数据
· 9.6关闭和删除游标
2023/9/9
第9章游标
9.1游标概述
9.1.1游标的概念
游标可以看作是一种指针,通过这种指针,SQL Server提供了对一个结果集
进行逐行处理的能力。
游标总是与一个结果集关联在一起,它可以指向结果集中的任一行。在将游
标指向某一行以后,应用程序可以访问该行或访问从该行开始的行块上的每
一个数据项。
概括地讲,游标是一种临时的数据库对象,它可以看作是查询结果集的一种
指针,也可以用来保存储存在数据表中的数据记录的副本,提供了从结果集
中每次提取一条记录的机制。
2023/9/9
9.1游标概述
9.1.2游标的作用及其实现过程
游标的作用可以分为两种:一种是作为结果集的指针,另一种是用于保存查
询的结果集。
作为结果集的指针:可以在结果集上滚动游标,并检查游标指向的每一行数
据。通过利用局部变量和游标的组合来分别检查每条记录,并在转移到下一
条记录之前,进行所需的任何外部操作。
用于保存查询的结果集:如果处理过程需要重复使用一个由SELECT语句产生
的结果集,那么创建一次游标而重复使用多次,比重复查询数据库要快得多
。因此,游标除了可以对结果集中的记录进行逐行处理外,在某些应用中还
可以提高处理效率。
2023/9/9
9.1游标概述
游标的使用大致遵循下列过程:
游标,主要定义游标的名称、特性以及可调用的查询方式等;
(2)打开游标:使用OPEN语句打开已经创建的游标,实际上是执行
相应的SELECT语句,以填充游标涉及的结果集;
(3)检索或更新数据:利用局部变量和游标的组合来分别检查每条
记录,或根据需要对结果集中的数据进行更新等操作,而且这些操
作可以多次重复执行。
(4)关闭游标:使用CLOSE语句关闭游标,释放游标所占用的内存
资源。
的游标才能创建(如果需要的话)。
2023/9/9
第9章游标
· 9.1游标概述
· 9.2创建游标——DECLARE CURSOR
· 9.3打开游标——OPEN
· 9.4检索游标数据——FETCH
· 9.5更新游标数据
· 9.6关闭和删除游标
2023/9/9
第9章游标
9.1游标概述
9.2.1 DECLARE CURSOR基本语法
该语句语法有两种格式,分别是基于SQL-92标准的语法和使用一组Transact-
SQL扩展的语法。其语法格式分别如下:
--SQL92语法
FOR select_statement
[;]
-- Transact-SQL扩展语法
[FORWARD_ONLYISCROLL]
[STATIC|KEYSETIDYNAMICIFAST_FORWARD]
[READ_ONLY ISCROLL_LOCKSIOPTIMISTIC]
[TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name[,..n]]]
[;]
2023/9/9
9.2创建游标——DECLARE CURSOR
其参数意义说明如下:
●cursor_name
设定Transact-SQL服务器游标的名称。
●INSENSITIVE
指定创建所定义的游标使用的数据的临时复本。对游标的所有请求都从tempdb中
的这一临时表中得到应答。因此,在对该游标进行提取操作时返回的数据中不反映对
基表所做的修改,并且该游标不允许修改。使用SQL-92语法时,如果省略
显示全部