CLOSE (Transact-SQL)
現在の結果セットを解放し、カーソルが置かれている行に設定されているカーソル ロックを解除して、開いているカーソルを閉じます。CLOSE では、再度開けるようにデータ構造がアクセス可能なままになりますが、フェッチや位置指定更新は、カーソルを再度開くまで実行できません。CLOSE は開いているカーソル上で実行する必要があります。宣言されただけのカーソルや、既に閉じているカーソルでは実行できません。
構文
CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }
引数
GLOBAL
cursor_name でグローバル カーソルを参照することを指定します。cursor_name
開いているカーソルの名前です。cursor_name という名前のグローバル カーソルとローカル カーソルの両方がある場合、GLOBAL を指定すると、cursor_name 引数はグローバル カーソルを参照します。GLOBAL を指定しないと、cursor_name 引数はローカル カーソルを参照します。cursor_variable_name
開いているカーソルに関連付けられたカーソル変数の名前です。
例
次の例では、カーソルを使用した処理での CLOSE ステートメントの正しい位置を示しています。
DECLARE Employee_Cursor CURSOR FOR
SELECT BusinessEntityID, JobTitle
FROM AdventureWorks2008R2.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