CLOSE (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Закрывает открытый курсор, высвобождая текущий результирующий набор и снимая блокировки курсоров для строк, на которых установлен курсор. Инструкция CLOSE
оставляет структуры данных доступными для повторного открытия, но выборки и позиционированные обновления не разрешаются до повторного открытия курсора. Инструкция CLOSE должна выдаваться применительно к открытому курсору; CLOSE
не применима к только что объявленным или уже закрытым курсорам.
Соглашения о синтаксисе Transact-SQL
Синтаксис
CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }
Аргументы
Глобальные
Указывает, что аргумент cursor_name ссылается на глобальный курсор.
cursor_name
Имя открытого курсора. Когда имеются как глобальный, так и локальный курсор с именем cursor_name, то cursor_name указывает на глобальный курсор, если задано GLOBAL. В противном случае cursor_name указывает на локальный курсор.
cursor_variable_name
Имя переменной курсора, связанной с открытым курсором.
Примеры
В следующем примере показано правильное размещение инструкции CLOSE
в процессе на основе курсора.
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