一、概述:
把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。游标(Cursor)是一种数据访问机制,它允许用户访问单独的数据行,而不是对整个行集进行操作。用户可以通过单独处理每一餐逐条收集信息并对数据逐行进行操作,这样可以降低系统开销和潜在的阻隔情况。用户也可以使用这些数据生成SQL代码并立即执行或输出。
二、用途
关系数据库管理系统实质是面向集合的,在MS SQL SERVER 中并没有一种描述表中单一记录的表达形式,除非使用where 子句来限制只有一条记录被选中。因此我们必须借助于游标来进行面向单条记录的数据处理。由此可见,游标允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;它还提供对基于游标位置而对表中数据进行删除或更新的能力;而且,正是游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通。
三、游标主要包括以下两部分
游标结果集由定义游标的SELECT语句返回的行的集合。
游标位置指向这个结果集中的某一行的指针
四、游标的特点
游标返回一个完整的结果集,但允许程序设计语言只调用集合中的一行。
允许定位在结果集的特定行。
从结果集的当前位置检索一行或多行。
支持对结果集中当前位置的行进行数据修改。
五、使用方法
使用游标要先1.声明游标 2.打开游标 3.提取游标 4.关闭游标 5.释放游标
语法格式如下
declare stu_cursor scroll cursor for -- 声明游标 select 员工姓名 from 员工信息 open stu_cursor -- 打开游标 declare @name varchar(20) --声明变量 fetch absolute 5 from stu_cursor into @name print @name --打印变量 close stu_cursor -- 关闭游标 deallocate stu_cursor -- 释放游标