CLOSE (Transact-SQL)

Ferme un curseur ouvert en libérant le jeu de résultats courant et tous les verrous de curseur dans les lignes sur lesquelles le curseur est positionné. L'instruction CLOSE garde les structures de données disponibles pour une réouverture éventuelle, mais les extractions et les mises à jour positionnées ne sont pas autorisées jusqu'à la réouverture du curseur. L'instruction CLOSE doit être exécutée sur un curseur ouvert. Elle n'est pas autorisée sur un curseur qui a seulement été déclaré ou qui est déjà fermé.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }

Arguments

  • GLOBAL
    Indique que cursor_name fait référence à un curseur global.

  • cursor_name
    Nom d'un curseur ouvert. S'il existe deux curseurs, un global et un local, nommés cursor_name, la variable cursor_name fait référence au curseur global si GLOBAL est spécifié, sinon, cursor_name fait référence au curseur local.

  • cursor_variable_name
    Nom d'une variable de curseur associée à un curseur ouvert.

Exemples

L'exemple suivant illustre comment positionner correctement l'instruction CLOSE dans un processus basé sur un curseur.

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