CLOSE (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
释放当前结果集,然后解除定位游标的行上的游标锁定,从而关闭一个开放的游标。 CLOSE
将保留数据结构以便重新打开,但在重新打开游标之前,不允许提取和定位更新。 必须对打开的游标发布 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
语句在基于游标的进程中的正确位置。
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