CLOSE (Transact-SQL)
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 estão fechados.
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 nome, cursor_name fará referência ao cursor global quando GLOBAL for especificado; caso contrário, cursor_name fará referência 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 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
Consulte também