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.
Convenzioni 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 EmployeeID, Title FROM AdventureWorks2012.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