CLOSE (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstâ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 }  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

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  

Consulte Também