ヘッダーをスキップ
Oracle Database PL/SQL言語リファレンス
11g リリース1(11.1)
E05670-03
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

OPEN文

OPEN文は、カーソルに関連付けられた問合せを実行します。 また、問合せの処理に使用するデータベース・リソースを割り当て、結果セット(問合せの条件に一致する行)を識別します。 カーソルは、結果セットの最初の行の前に置かれます。

構文

open_statement ::=

open_statement
open_statement.gifの説明

キーワードとパラメータの説明

cursor_name

現行の有効範囲のうちそれより前に宣言されていて、現在オープンされていない明示カーソルです。

cursor_parameter_name

カーソルの仮パラメータとして宣言された変数を識別します。 (cursor_parameter_declarationの構文は、「明示カーソル」を参照。) カーソルのパラメータは、問合せの中で定数が使用できる場所であれば、どこででも使用できます。

使用上の注意

一般に、PL/SQLによる明示カーソルは、それを最初にオープンするときにのみ解析されます。また、SQL文の解析(およびそれによる暗黙カーソルの作成)は、その文が初めて実行されるときにのみ行われます。 解析されたSQL文は、すべてキャッシュに入れられます。 SQL文は、新しいSQL文によってキャッシュからエージ・アウトされた場合にのみ再解析されます。 したがって、カーソルを再オープンするには、まずクローズする必要がありますが、PL/SQLはカーソルに関連付けられたSELECT文を再解析する必要はありません。 カーソルをクローズしてからただちに再オープンした場合、再解析は不要です。

結果セットの中の行は、OPEN文の実行時には取り出されません。 行の取出しにはFETCH文を使用します。 FOR UPDATEカーソルでは、カーソルがオープンされるときに、行はロックされます。

仮パラメータが宣言されている場合は、カーソルに実パラメータを渡す必要があります。 カーソルの仮パラメータはINパラメータにする必要があるため、実パラメータに値を戻すことはできません。 実パラメータの値はカーソルをオープンする場合に使用されます。 仮パラメータと実パラメータのデータ型には、互換性が必要です。 問合せでは、有効範囲の中で宣言されている他のPL/SQL変数を参照することもできます。

デフォルト値を受け入れるのでなければ、カーソル宣言の中の仮パラメータは、すべてOPEN文の中で対応する実パラメータを持つ必要があります。 デフォルト値で宣言された仮パラメータには、対応する実パラメータがなくてもかまいません。 このような仮パラメータは、OPEN文の実行時にデフォルト値を取ります。

位置表記法または名前表記法を使用して、OPEN文の実パラメータを、カーソル宣言の仮パラメータに関連付けることができます。

カーソルがオープンされている場合は、そのカーソルの名前をカーソルFORループで使用できません。

関連トピック