CLOSE (Transact-SQL)

Закрывает открытый курсор, высвобождая текущий результирующий набор и снимая блокировки курсоров для строк, на которых установлен курсор. Инструкция CLOSE оставляет структуры данных доступными для повторного открытия, но выборки и нацеленные обновления не разрешаются до повторного открытия курсора. Инструкция CLOSE должна выдаваться применительно к открытому курсору; CLOSE не применима к только что объявленным или уже закрытым курсорам.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }

Аргументы

  • GLOBAL
    Указывает, что аргумент cursor_name ссылается на глобальный курсор.
  • cursor_name
    Имя открытого курсора. Если существует как общий, так и местный курсор с именем cursor_name, то аргумент cursor_name указывает на глобальный курсор, когда указано GLOBAL; в противном случае параметр cursor_name указывает на местный курсор.
  • cursor_variable_name
    Имя переменной курсора, связанной с открытым курсором.

Примеры

В следующем примере показано корректное размещение инструкции CLOSE в процессе на основе курсора.

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

См. также

Справочник

Курсоры (Transact-SQL)
DEALLOCATE (Transact-SQL)
FETCH (Transact-SQL)
OPEN (Transact-SQL)

Другие ресурсы

Курсоры (ядро СУБД)

Справка и поддержка

Получение помощи по SQL Server 2005