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

Précise que cursor_name renvoie à un curseur global.

cursor_name

Nom d'un curseur ouvert. Si deux curseurs, un global et un local, existent avec pour nom cursor_name, cursor_name renvoie au curseur global si GLOBAL est spécifié ; dans tous les autres cas, cursor_name renvoie 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

Voir aussi

Référence

Curseurs (Transact-SQL)
DEALLOCATE (Transact-SQL)
FETCH (Transact-SQL)
OPEN (Transact-SQL)

Autres ressources

Curseurs (moteur de base de données)

Aide et Informations

Assistance sur SQL Server 2005