CLOSE (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database
現在の結果セットを解放し、カーソルが置かれている行に設定されているカーソル ロックを解除して、開いているカーソルを閉じます。 CLOSE
では、再度開けるようにデータ構造がアクセス可能なままになりますが、フェッチや位置指定更新は、カーソルを再度開くまで実行できません。 CLOSE
は開いているカーソル上で実行する必要があります。宣言されただけのカーソルや、既に閉じているカーソルでは実行できません。
構文
CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }
引数
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