Partager via


CLOSE (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Base de données SQL dans Microsoft Fabric

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é. 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. CLOSE doit être émise 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 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. Si un curseur global et un curseur local ont tous les deux le même nom cursor_name, 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 AdventureWorks2022.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