スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス

[目次][索引][前へ][次へ]

CLOSE文カーソルクローズ

機能

カーソルを閉じ,FETCH文による検索結果の取り出しを終わらせます。

使用権限

なし。

形式

 
 CLOSE {カーソル名|拡張カーソル名}
 

オペランド

カーソル名
閉じるカーソル名を指定します。閉じるカーソルとは,OPEN文で開いているカーソルです。

拡張カーソル名
閉じるカーソルを識別する拡張カーソル名を指定します。閉じるカーソルとは,OPEN文で開いているカーソル,又は手続きから返却された結果集合の組に割り当てられ,結果集合を参照しているカーソルです。
拡張カーソル名については,「2.27 拡張カーソル名」を参照してください。

共通規則

  1. 次のSQLを実行した場合,その時点で開いているカーソルはすべて閉じられます。また,暗黙的ロールバックありのエラーが発生した場合にも,カーソルはすべて閉じられます。
    ・定義系SQL(クライアント環境定義PDCMMTBFDDLにYESを指定している場合)
    ・PURGE TABLE文
    ・COMMIT文
    ・DISCONNECT文
    ・ROLLBACK文
    ・PREPARE文(クライアント環境定義PDPRPCRCLSにYESを指定している場合)
    ・内部DISCONNECT(DISCONNECT文を実行しないでUAPを終了する)
    ただし,ホールダブルカーソルは,COMMIT文を実行した場合は閉じられません。PURGE TABLE文を実行し,ホールダブルカーソルで開いている表が検査保留状態に設定された場合,ホールダブルカーソルは閉じられます。
  2. ALLOCATE CURSOR文 形式2で手続きが返却した結果集合の組に割り当てられたカーソルに対してCLOSE文を実行した場合,現在参照している結果集合の次の結果集合が存在するときは,現在参照している結果集合は閉じられます。カーソルは次の結果集合を参照し,次のリターンコードが設定されます。
    • SQL連絡領域のSQLCODE領域に121
    • SQLCODE変数に121
    • SQLSTATE変数に'0100D'
    また,このときカーソルは開いた状態となります。
    一方,次の結果集合が存在しない場合は,現在参照している結果集合は閉じられ,次のリターンコードが設定されます。
    • SQL連絡領域のSQLCODE領域に100
    • SQLCODE変数に100
    • SQLSTATE変数に'02001'
    また,このとき拡張カーソル名はどのカーソルも識別しなくなります。
    手続きから返却された結果集合の組に対してカーソルを割り当てた場合の一連の操作については,「1.9.3 結果集合返却機能」を参照してください。

留意事項

  1. カーソル名は,埋込み変数名と同様に,コンパイル単位のモジュール内で有効な名前であり,同じカーソルに対する複数のSQLを,複数のモジュールにわたって使用できません。

使用例

カーソル(CR1)を閉じます。
 
CLOSE CR1