一、游标:
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

