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é.
Conventions 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)