CLOSE (Transact-SQL)
Ferme un curseur ouvert en libérant le jeu de résultats actuel 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é.
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 BusinessEntityID, JobTitle
FROM AdventureWorks2008R2.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