1.什么是游标
游标是指针的一种结构,它包含结果集和结果集中指向记录的游标位置两部分,游标作为指针来遍历结果集(每次指向一行),游标是一个数据缓冲区,它存放了查询结果,而用户则可以利用SQL语句从这个缓冲区中提取数据。
游标可以完成以下的功能操作:
- 允许从当前行检索一行或多行数据。
- 允许操作当前行的数据,这也是最常用的游标使用方式。
- 可以定位在特定的行。
游标的主要作用是遍历查询的结果集,在遍历结果集的同时可以对游标所指向的记录进行数据操作,它的使用方式由固定的几个步骤来完成:
- 创建游标,游标在使用前必须创建,创建游标时允许定义相关的特性。
- 执行游标,利用查询语句来完成对游标的填充。
- 遍历结果集,当游标被数据填充后,可以利用命令来对游标中的数据进行遍历操作,也就是检索游标中的数据。
- 对检索当前行的数据进行操作,例如修改数据等。
- 关闭游标,对游标的操作完成后需要关闭游标,以释放相关资源。
2.游标的创建
DECLARE CURSOR (Transact-SQL)
DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR
FOR select_statement
[ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]
[;]
Transact-SQL Extended Syntax
DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[ TYPE_WARNING ]
FOR select_stateme