プライマリ・コンテンツに移動
Oracle® Database Oracleプリコンパイラのためのプログラマーズ・ガイド
12c リリース1 (12.1)
B71398-03
目次へ移動
目次
索引へ移動
索引

前
次

DECLARE CURSOR(埋込みSQLディレクティブ)

DECLARE CURSORの用途

カーソルに名前を付け、SQL文またはPL/SQLブロックに関連付けて宣言します。

DECLARE CURSORの前提条件

SQL文またはPL/SQLブロックの識別子にカーソルを関連付ける場合、DECLARE STATEMENT文でこの識別子を事前に宣言しておく必要があります。

DECLARE CURSORの構文

DECLARE CURSORのキーワードおよびパラメータ

AT

カーソルを宣言するデータベースを指定します。次のいずれかを使用してデータベースを指定します。

db_nameは、事前にDECLARE DATABASE文で宣言したデータベース識別子。

:host_variableは、値が事前に宣言したdb_nameであるホスト変数。

この句を省略した場合、Oracleはデフォルトのデータベースに対してこのカーソルを宣言します。

カーソル

宣言するカーソルの名前。

SELECT command

カーソルに関連付けるSELECT文。直後の文にはINTO句を含めないでください。

statement_name block_name

カーソルと関連付けるSQL文またはPL/SQLブロックを指定します。statement_nameまたはblock_nameは、DECLARE STATEMENT文で事前に宣言する必要があります。

DECLARE CURSORの使用上の注意

カーソルは、他の埋込みSQL文で参照する前に、宣言する必要があります。カーソル宣言のスコープはプリコンパイル・ユニット内全体になるため、各カーソルの名前はスコープ内で一意であることが必要です。1つのプリコンパイル・ユニット内で同じ名前のカーソルを複数宣言することはできません。

CURRENT OF構文を使用しているUPDATEまたはDELETE文のWHERE句ではカーソルを参照することができます。その場合カーソルはOPEN文でオープンされ、FETCH文で行に配置されます。このコマンドの詳細は、プログラム要件への対応を参照してください。

DECLARE CURSORの例

この例では、DECLARE CURSOR文の使用方法を示しています。

EXEC SQL DECLARE emp_cursor CURSOR 
 FOR SELECT ename, empno, job, sal 
 FROM emp 
 WHERE deptno = :deptno 
 FOR UPDATE OF sal

DECLARE CURSORの関連トピック

CLOSE(実行可能埋込みSQL)DECLARE DATABASE(Oracle埋込みSQLディレクティブ)DECLARE STATEMENT(埋込みSQLディレクティブ)DELETE(実行可能埋込みSQL)FETCH(実行可能埋込みSQL)OPEN(実行可能埋込みSQL)PREPARE(実行可能埋込みSQL)SELECT(実行可能埋込みSQL)およびUPDATE(実行可能埋込みSQL)