CLOSE (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

現在の結果セットを解放し、カーソルが置かれている行に設定されているカーソル ロックを解除して、開いているカーソルを閉じます。 CLOSE では、再度開けるようにデータ構造がアクセス可能なままになりますが、フェッチや位置指定更新は、カーソルを再度開くまで実行できません。 CLOSE は開いているカーソル上で実行する必要があります。宣言されただけのカーソルや、既に閉じているカーソルでは実行できません。

Transact-SQL 構文表記規則

構文

CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

GLOBAL
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  

参照