CLOSE (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Fecha um cursor aberto liberando o conjunto de resultados atual e qualquer bloqueio de cursor mantido nas linhas onde o cursor é posicionado. CLOSE
deixa as estruturas de dados disponíveis para reabertura, mas as atualizações buscadas e posicionadas não são permitidas até que o cursor seja reaberto. CLOSE deve ser emitido em um cursor aberto; CLOSE
não é permitido em cursores que somente foram declarados ou que já estão fechados.
Convenções de sintaxe de Transact-SQL
Sintaxe
CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }
Argumentos
GLOBAL
Especifica que cursor_name se refere a um cursor global.
cursor_name
É o nome de um cursor aberto. Se um cursor global e um cursor local existirem com cursor_name como seu nome, cursor_name se referirá ao cursor global quando GLOBAL for especificado; caso contrário, cursor_name se referirá ao cursor local.
cursor_variable_name
É o nome de uma variável de cursor associada a um cursor aberto.
Exemplos
O exemplo a seguir mostra a colocação correta da instrução CLOSE
em um processo com base em cursor.
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