CLOSE (Transact-SQL)

Schließt einen geöffneten Cursor, indem die Zuordnung des aktuellen Resultsets zum Cursor aufgehoben wird und alle Cursorsperren für die Zeilen, auf die der Cursor positioniert ist, freigegeben werden. CLOSE sorgt dafür, dass die Daten für ein erneutes Öffnen verfügbar sind, jedoch sind das Abrufen und positionierte Aktualisieren von Daten erst dann zulässig, wenn der Cursor erneut geöffnet wird. CLOSE muss bei einem geöffneten Cursor ausgeführt werden. Wurde ein Cursor lediglich deklariert oder bereits geschlossen, darf CLOSE nicht angewendet werden.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }

Argumente

GLOBAL

Gibt an, dass cursor_name auf einen globalen Cursor verweist.

cursor_name

Der Name eines geöffneten Cursors. Falls sowohl ein lokaler als auch ein globaler Cursor namens cursor_name vorhanden sind, bezieht sich cursor_name nur dann auf den globalen Cursor, wenn GLOBAL angegeben wird. In allen anderen Fällen bezieht sich cursor_name auf den lokalen Cursor.

cursor_variable_name

Der Name einer Cursorvariablen, die mit einem geöffneten Cursor verknüpft ist.

Beispiele

Im folgenden Beispiel wird die richtige Platzierung der CLOSE-Anweisung in einem cursorbasierten Prozess gezeigt.

DECLARE Employee_Cursor CURSOR FOR
SELECT EmployeeID, Title FROM AdventureWorks.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

Siehe auch

Verweis

Cursor (Transact-SQL)
DEALLOCATE (Transact-SQL)
FETCH (Transact-SQL)
OPEN (Transact-SQL)

Andere Ressourcen

Cursor (Datenbankmodul)

Hilfe und Informationen

Informationsquellen für SQL Server 2005