DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ] [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ] [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] [ TYPE_WARNING ] FOR select_statement |
参数 | 意义 |
---|---|
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 | 指定更新的列 |