Dela via


CLOSE (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Förhandsversion av Microsoft Fabric

Stänger en öppen markör genom att frigöra den aktuella resultatuppsättningen och frigöra markörens lås på de rader där markören är placerad. CLOSE lämnar datastrukturerna tillgängliga för återöppning, men hämtningar och placerade uppdateringar tillåts inte förrän markören öppnas igen. CLOSE måste utfärdas på en öppen markör. CLOSE tillåts inte på markörer som bara har deklarerats eller redan är stängda.

Transact-SQL syntaxkonventioner

Syntax

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }  

Arguments

GLOBAL
Anger att cursor_name refererar till en global markör.

cursor_name
Är namnet på en öppen markör. Om både en global och en lokal markör finns med cursor_name som namn refererar cursor_name till den globala markören när GLOBAL anges. annars refererar cursor_name till den lokala markören.

cursor_variable_name
Är namnet på en markörvariabel associerad med en öppen markör.

Examples

I följande exempel visas rätt placering av instruktionen CLOSE i en markörbaserad process.

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  

See Also