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

前
次

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

DECLARE STATEMENTの用途

他の埋込みSQL文で使用するSQL文またはPL/SQLブロックの識別子を宣言します。

DECLARE STATEMENTの前提条件

なし。

DECLARE STATEMENTの構文

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

AT

SQL文またはPL/SQLブロックが宣言されるデータベースを指定します。次のいずれかを使用してデータベースを指定します。

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

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

この句を省略した場合、Oracleではデフォルトのデータベースに対してSQL文またはPL/SQLブロックを宣言します。

statement_name block_name

文に対して宣言する識別子。

DECLARE STATEMENTの使用上の注意

DECLARE STATEMENT文を使用してSQL文またはPL/SQLブロックの識別子を宣言する必要があるのは、その識別子を参照するDECLARE CURSOR文が、埋込みSQLプログラム内で、その文またはブロックを解析して識別子と関連付けるPREPARE文よりも物理的に(論理的にではなく)前にある場合のみです。

文の宣言の有効範囲は、カーソルの宣言と同様に、プリコンパイル・ユニット内全体に及びます。このコマンドの詳細は、プログラム要件への対応および動的SQLの使用方法を参照してください。

DECLARE STATEMENTの例I

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

EXEC SQL AT remote_db 
 DECLARE my_statement STATEMENT 
EXEC SQL PREPARE my_statement FROM :my_string 
EXEC SQL EXECUTE my_statement

DECLARE STATEMENTの例II

Pro*C/C++埋込みSQLプログラムからのこの例では、DECLARE CURSOR文がPREPARE文の前にあるため、DECLARE STATEMENT文が必要です。

EXEC SQL DECLARE my_statement STATEMENT; 
EXEC SQL DECLARE emp_cursor CURSOR FOR my_statement; 
EXEC SQL PREPARE my_statement FROM :my_string; 
...

DECLARE STATEMENTの関連トピック

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