Condividi tramite


CLOSE (Transact-SQL)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric

Chiude un cursore aperto rilasciando il set di risultati corrente e liberando i blocchi dei cursori mantenuti attivi sulle righe in cui è posizionato il cursore. CLOSE mantiene le strutture dei dati disponibili per successive operazioni di apertura. Le operazioni di recupero e di aggiornamento posizionato, tuttavia, sono consentite solo dopo la riapertura del cursore. È necessario eseguire l'istruzione CLOSE su un cursore aperto. L'esecuzione non è consentita su cursori solo dichiarati o già chiusi.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }  

Argomenti

GLOBAL
Specifica che cursor_name fa riferimento a un cursore globale.

cursor_name
Nome di un cursore aperto. Se esistono sia un cursore globale che un cursore locale con il nome cursor_name, cursor_name fa riferimento al cursore globale quando viene specificato l'argomento GLOBAL. In caso contrario, cursor_name fa riferimento al cursore locale.

cursor_variable_name
Nome di una variabile di cursore associata a un cursore aperto.

Esempi

Nell'esempio seguente viene illustrata la posizione corretta dell'istruzione CLOSE in un processo basato su cursori.

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  

Vedi anche