CLOSE (Transact-SQL)

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

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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