AT
SQL文またはPL/SQLブロックが宣言されるデータベースを指定します。次のいずれかを使用してデータベースを指定します。
db_nameは、DECLARE
DATABASE
文で事前に宣言したデータベース識別子。
:host_variableは、値が事前に宣言したdb_nameであるホスト変数。
この句を省略した場合、Oracleではデフォルトのデータベースに対してSQL文またはPL/SQLブロックを宣言します。
statement_name block_name
文に対して宣言する識別子。
DECLARE
STATEMENT
文を使用してSQL文またはPL/SQLブロックの識別子を宣言する必要があるのは、その識別子を参照するDECLARE
CURSOR
文が、埋込みSQLプログラム内で、その文またはブロックを解析して識別子と関連付けるPREPARE
文よりも物理的に(論理的にではなく)前にある場合のみです。
文の宣言の有効範囲は、カーソルの宣言と同様に、プリコンパイル・ユニット内全体に及びます。このコマンドの詳細は、プログラム要件への対応および動的SQLの使用方法を参照してください。
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; ...