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