スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
CLOSE文(カーソルクローズ)
機能
カーソルを閉じ,FETCH文による検索結果の取り出しを終わらせます。
使用権限
形式
オペランド
- カーソル名
- 閉じるカーソル名を指定します。閉じるカーソルとは,OPEN文で開いているカーソルです。
- 拡張カーソル名
- 閉じるカーソルを識別する拡張カーソル名を指定します。閉じるカーソルとは,OPEN文で開いているカーソル,又は手続きから返却された結果集合の組に割り当てられ,結果集合を参照しているカーソルです。
- 拡張カーソル名については,「2.27 拡張カーソル名」を参照してください。
共通規則
- 次のSQLを実行した場合,その時点で開いているカーソルはすべて閉じられます。また,暗黙的ロールバックありのエラーが発生した場合にも,カーソルはすべて閉じられます。
・定義系SQL(クライアント環境定義PDCMMTBFDDLにYESを指定している場合)
・PURGE TABLE文
・COMMIT文
・DISCONNECT文
・ROLLBACK文
・PREPARE文(クライアント環境定義PDPRPCRCLSにYESを指定している場合)
・内部DISCONNECT(DISCONNECT文を実行しないでUAPを終了する)
ただし,ホールダブルカーソルは,COMMIT文を実行した場合は閉じられません。PURGE TABLE文を実行し,ホールダブルカーソルで開いている表が検査保留状態に設定された場合,ホールダブルカーソルは閉じられます。
- ALLOCATE CURSOR文 形式2で手続きが返却した結果集合の組に割り当てられたカーソルに対してCLOSE文を実行した場合,現在参照している結果集合の次の結果集合が存在するときは,現在参照している結果集合は閉じられます。カーソルは次の結果集合を参照し,次のリターンコードが設定されます。
- SQL連絡領域のSQLCODE領域に121
- SQLCODE変数に121
- SQLSTATE変数に'0100D'
また,このときカーソルは開いた状態となります。
一方,次の結果集合が存在しない場合は,現在参照している結果集合は閉じられ,次のリターンコードが設定されます。
- SQL連絡領域のSQLCODE領域に100
- SQLCODE変数に100
- SQLSTATE変数に'02001'
また,このとき拡張カーソル名はどのカーソルも識別しなくなります。
手続きから返却された結果集合の組に対してカーソルを割り当てた場合の一連の操作については,「1.9.3 結果集合返却機能」を参照してください。
留意事項
- カーソル名は,埋込み変数名と同様に,コンパイル単位のモジュール内で有効な名前であり,同じカーソルに対する複数のSQLを,複数のモジュールにわたって使用できません。
使用例
- カーソル(CR1)を閉じます。
CLOSE CR1
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.