SQL 游标声明

DECLARE cursor_name CURSOR
[ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[ TYPE_WARNING ]

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

参数 意义
LOCAL 游标作用域为本过程,默认
GLOBAL 游标作用域为全局
FORWARD_ONLY 仅向前游标,只能从前向后读取,只支持 FETCH NEXT,默认 DYNAMIC
STATIC 静态游标,数据被复制到 TEMPDB,不允许修改
KEYSET 键集游标,
DYNAMIC 动态游标,每次提取记录都是最新的内容
FAST_FORWARD 代表 FORWARD_ONLY  和READ_ONLY 两项,并启用性能优化
READ_ONLY 只读游标,无法进行更新
SCROLL_LOCKS 通过对当前行进行锁定,确保更新/删除可成功完成
OPTIMISTIC 不对当前行进行锁定,更新/删除有可能失败
select_statement 一条 SELECT 查询语句
FOR UPDATE 指定游标可更新
OF column_name 指定更新的列