CLOSE (Transact-SQL)

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 recuperaciones y las actualizaciones posicionadas no se permiten hasta que se vuelva a abrir el cursor. CLOSE debe ejecutarse en un cursor abierto, por lo que no se permite en cursores que sólo están declarados o que ya están cerrados.

Icono de vínculo a temasConvenciones 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 hay un cursor global y otro local con el nombre cursor_name, cursor_name hace referencia al cursor global si 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 AdventureWorks.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