CLOSE (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

释放当前结果集,然后解除定位游标的行上的游标锁定,从而关闭一个开放的游标。 CLOSE 将保留数据结构以便重新打开,但在重新打开游标之前,不允许提取和定位更新。 必须对打开的游标发布 CLOSE;不允许对仅声明或已关闭的游标执行 CLOSE

Transact-SQL 语法约定

语法

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

GLOBAL
指定 cursor_name 是指全局游标。

cursor_name
打开的游标的名称。 当同时存在以 cursor_name 作为名称的全局游标和局部游标时,如果指定 GLOBAL,则 cursor_name 是指全局游标;否则,cursor_name 是指局部游标

cursor_variable_name
与打开的游标关联的游标变量的名称。

示例

以下示例将显示 CLOSE 语句在基于游标的进程中的正确位置。

DECLARE Employee_Cursor CURSOR FOR  
SELECT EmployeeID, Title FROM AdventureWorks2022.HumanResources.Employee;  
OPEN Employee_Cursor;  
FETCH NEXT FROM Employee_Cursor;  
WHILE @@FETCH_STATUS = 0  
   BEGIN  
      FETCH NEXT FROM Employee_Cursor;  
   END;  
CLOSE Employee_Cursor;  
DEALLOCATE Employee_Cursor;  
GO  

另请参阅