Condividi tramite


CLOSE (Transact-SQL)

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. L'istruzione 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.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }

Argomenti

  • GLOBAL
    Specifica che l'argomento 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 specificato in cursor_name, cursor_name indica il cursore globale se viene specificato l'argomento GLOBAL. In caso contrario cursor_name indica invece il 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 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