通过释放当前结果集并且解除定位游标的行上的游标锁定,关闭一个开放的游标。CLOSE 使得数据结构可以重新打开,但不允许提取和定位更新,直到游标重新打开为止。CLOSE 必须在一个开放游标上颁发,不允许在一个仅仅声明的游标或一个已经关闭的游标上颁发。
CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }
GLOBAL
指定 cursor_name 指的是全局游标。
cursor_name
开放游标的名称。如果全局游标和局部游标都使用 cursor_name 作为它们的名称,那么当指定 GLOBAL 时 cursor_name 引用全局游标;否则,cursor_name 引用局部游标。
cursor_variable_name
与开放游标关联的游标变量的名称。
下面的示例显示在一个基于游标的进程中 CLOSE 语句的正确位置。
USE pubs
GO
DECLARE authorcursor CURSOR FOR
SELECT au_fname, au_lname
FROM authors
ORDER BY au_fname, au_lname
OPEN authorcursor
FETCH NEXT FROM authorcursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM authorcursor
END
CLOSE authorcursor
DEALLOCATE authorcursor
GO
相关文章