Partilhar via


FECHAR (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Fecha um cursor aberto liberando o conjunto de resultados atual e liberando quaisquer bloqueios de cursor mantidos nas linhas nas quais o cursor está posicionado. CLOSE deixa as estruturas de dados disponíveis para reabertura, mas as buscas e atualizações 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 tenham sido declarados apenas ou que já estejam fechados.

Transact-SQL convenções de sintaxe

Syntax

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }  

Arguments

GLOBAL
Especifica que cursor_name se refere a um cursor global.

cursor_name
É o nome de um cursor aberto. Se existirem um cursor global e um cursor local com cursor_name como nome, cursor_name refere-se ao cursor global quando GLOBAL é especificado; caso contrário, cursor_name refere-se ao cursor local.

cursor_variable_name
É o nome de uma variável de cursor associada a um cursor aberto.

Examples

O exemplo a seguir mostra o posicionamento correto da CLOSE instrução em um processo baseado 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  

Ver também