SQL SERVER:游标概述(34)(sql数据库游标的使用步骤)

一、游标:

1、游标的概念:即指针,可指向结果集中某一行,起到定位的作用,其用途有:

1)定位到查询结果集中的某一行。

2)对当前位置的数据进行读写。

3)可以对结果集中的数据单独操作,而不是整行执行相同的操作。

4)游标是面向数据集合和面向数据行的程序设计之间的桥梁。

2、游标分类:

1)静态游标(Static):在操作游标的时候,数据发生变化,游标中的数据不变

2)动态游标(Dynamic):在操作游标的时候,数据发生变化,游标中数据改变,默认值;

3)键集驱动游标(KeySet):在操作游标的时候,被标识的列发生改变,游标中数据改变,其他列改变,游标中的数据不变

3、语法:

DECLARE <游标名> CURSOR [ LOCAL | GLOBAL]

--注:中括号里系指定作用域是全局,还是局部,

[ FORWARD_ONLY | SCROLL ]

注:--中括号里系指定是只进,还是非只进游标,默认为只进游标

[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]

--注:中括号里系指定游标类型

[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]

--注:READ_ONLY(只读游标)、SCROLL_LOCKS(表示在使用的游标结果集数据上放置锁,当行读取到游标中然后对它们进行修改时,数据库将锁定这些行,以保证数据的一致性)、OPTIMISTIC(指游标将数据读取以后,如果这些数据被更新了,则通过游标定位进行的更新与删除操作将不会成功。

[ TYPE_WARNING ]

--注:指定游标从所请求的类型隐式转换为另一种类型时,向客户端发送警告消息

FOR select_statement--标准查询语句

[ FOR UPDATE [ OF column_name [,...n] ] ]

4、游标创建类型:

1)标准游标:

Declare <游标名> Cursor For Select <字段名> From <表名>

2)只读游标:

Declare <游标名> Cursor For Select <字段名> From <表名> For Read Only

3)可更新游标:

Declare <游标名> Cursor For Select <字段名> From <表名> For UpDate

原文链接:,转发请注明来源!