游标是处理结果集的一种机制
--声明游标 --ISO 语法 DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ][;]
--Transact-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 --select查询语句 [ FOR UPDATE [ OF column_name [ ,...n ] ] ][;] --可修改的列
--打开游标语法 OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name}
--读取数据 FETCH [ [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE { n | @nvar } | RELATIVE { n | @nvar } ] FROM ] { { [ GLOBAL ] cursor_name } | @cursor_variable_name } [ INTO @variable_name [ ,...n ] ] --into 将读取的游标数据存放到指定的变量中
关闭&删除游标
--关闭游标 CLOSE { { [ GLOBAL ] cursor_name } | @cursor_variable_name } --删除游标 DEALLOCATE { { [ GLOBAL ] cursor_name } | @cursor_variable_name }