CLOSE (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance

Cierra un cursor abierto mediante la liberación del conjunto de resultados actual y todos los bloqueos de cursor mantenidos en las filas en las que está colocado. CLOSE deja las estructuras de datos accesibles para que se puedan volver a abrir, pero las capturas y las actualizaciones colocadas no se permiten hasta que se vuelva a abrir el cursor. CLOSE tiene que ejecutarse en un cursor abierto; CLOSE no se permite en cursores que solo están declarados o que ya están cerrados.

Convenciones de sintaxis de Transact-SQL

Sintaxis

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }  

Argumentos

GLOBAL
Especifica que cursor_name hace referencia a un cursor global.

cursor_name
Es el nombre de un cursor abierto. Si existen un cursor global y otro local denominados cursor_name, cursor_name hace referencia al cursor global cuando se especifica GLOBAL; en caso contrario, cursor_name hace referencia al cursor local.

cursor_variable_name
Es el nombre de una variable de cursor asociada a un cursor abierto.

Ejemplos

En el ejemplo siguiente se muestra la posición correcta de la instrucción CLOSE en un proceso de cursores.

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  

Vea también