转自:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110325.html
Ø 游标
游标可以对一个select的结果集进行处理,或是不需要全部处理,就会返回一个对记录集进行处理之后的结果。
1、游标实际上是一种能从多条数据记录的结果集中每次提取一条记录的机制。游标可以完成:
# 允许定位到结果集中的特定行
# 从结果集的当前位置检索一行或多行数据
# 支持对结果集中当前位置的进行修改
由于游标是将记录集进行一条条的操作,所以这样给服务器增加负担,一般在操作复杂的结果集的情况下,才使用游标。SQL Server 2005有三种游标:T-SQL游标、API游标、客户端游标。
2、游标的基本操作
游标的基本操作有定义游标、打开游标、循环读取游标、关闭游标、删除游标。
A、 定义游标
declare cursor_name --游标名称 cursor [local | global] --全局、局部 [forward only | scroll] --游标滚动方式 [read_only | scroll_locks | optimistic] --读取方式 for select_statements --查询语句 [for update | of column_name ...] --修改字段
参数:
forward only | scroll:前一个参数,游标只能向后移动;后一个参数,游标可以随意移动
read_only:只读游标
scroll_locks:游标锁定,游标在读取时,数据库会将该记录锁定,以便游标完成对记录的操作
optimistic:该参数不会锁定游标;此时,如果记录被读入游标后,对游标进行更新或删除不会超过
B、 打开游标
open cursor_name;
游标打开后,可以使用全局变量@@cursor_rows显示读取记录条数
C、 检索游标
fetch cursor_name;
检索方式如下:
fetch first; 读取第一行
fetch next; 读取下一行
fetch prior; 读取上一行
fetch last; 读取最后一行
fetch absolute n; 读取某一行
如果n为正整数,则读取第n条记录
如果n为负数,则倒数提取第n条记录
如果n为,则不读取任何记录
fetch pelative n
如果n为正整数,则读取上次读取记录之后第n条记录
如果n为负数,则读取上次读取记录之前第n条记录
如果n为,则读取上次读取的记录
D、 关闭游标
close cursor_name;
E、 删除游标
deallocate cursor_name;
3、游标操作示例
--创建一个游标 declare cursor_stu cursor scroll for select id, name, age from student; --打开游标 open cursor_stu; --存储读取的值 declare @id int, @name nvarchar(20), @age varchar(20); --读取第一条记录 fetch first from cursor_stu into @id, @name, @age; --循环读取游标记录 print '读取的数据如下:'; --全局变量 while (@@fetch_status = 0) begin print '编号:' + convert(char(5), @id) + ', 名称:' + @name + ', 类型:' + @age; --继续读取下一条记录 fetch next from cursor_stu into @id, @name, @age; end --关闭游标 close area_cursor; --删除游标 --deallocate area_cursor;
相关推荐
Sybase数据库,sql游标行转列,文件是一个存储过程。
游标算法_伪码.pdf
自己写的一个数据库语句,涉及游标,飞类汇总,行换列,适合入门的同学参考!
行业资料-电子功用-微机电结构偏转角测量游标尺
oracle游标使用大全,其中有很多例子,有助于大家理解,希望对初学者有帮助
oracle-游标使用汇总,觉得不错所以转了
oracle 管道函数 动态游标,自定义类型,转table
实验游标卡尺、千分尺读数方法 在这篇文章中,我们将介绍实验游标卡尺和螺旋测微器的读数方法。游标卡尺是一种常用的测量工具,它可以测量小于 1mm 的长度,而螺旋测微器则可以测量小于 0.01mm 的长度。 一、游标...
入参是字符串格式的xml,目的是解析xml节点值,作为数据库检索where条件,检索出数据库记录,利用四个游标返回四个数据集,然后用groovy脚本将四个游标数据集解析成json出参中对应的四个节点值。出参json有两层结构...
电动汽车用永磁游标电机的设计与研究 本文提出了一种新的电动汽车用永磁游标电机设计,旨在提高电机的转矩输出能力。该电机结构上采用双定子、中间转子形式,内、外定子设计有能够完成磁通调制作用的调磁齿,转子...
NULL 博文链接:https://sytcun.iteye.com/blog/1408182
小真 战争就是和平自由是奴役无知就是力量—真理部minitrue (Ministry of Truth) 创建引用包含不可变映射的单个对象引用的Probe游标。 所有通过另一个Probe光标创建的Probe光标指向同一个单一的真实来源。 任何两个...
包括触发器、序列、游标参数 游标、转出过程参数、游标的rowcount用法 用游标修改数据 用for使用游标、视图、存储过程、隐式游标、过程等
关于oracle数据库如何行转列SQL语句。
NULL 博文链接:https://vernonchen163.iteye.com/blog/1902788
IcoToCur 此 C++ 控制台应用程序将 .ico 文件转换为 Windows 游标。 有关如何使用它的说明,请使用 -h 命令。
编号 标准宗地编码(landCode) 所在区段编码(sectCode) 1 131001BG001 G001 2 131001BG002 G001 3 131001BG003 G001 4 131001BG004 G002 5 131001BG005 ...131001BG005在SQL serve
circle-text-follow-mousemove:21-0311游标周围旋转字
MS-SQL游标的使用及理解 windows或DOS的“光标”不同,MS-SQL的游标是一种临时的数据库对象,既对可用来旋转储存在系统永久表中的数据行的副本,也可以指向储存在系统永久表中的数据行的指针。
带有圆锥形磁轴承的游标万向磁悬浮飞轮的转子悬架