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

前
次

EXECUTE ...END-EXEC (実行可能埋込みSQL拡張機能)

EXECUTE ... END-EXECの用途

Oracleプリコンパイラ・プログラムに無名PL/SQLブロックを埋め込みます。

EXECUTE ... END-EXECの前提条件

なし。

EXECUTE ... END-EXECの構文

EXECUTE ... END-EXECのキーワードおよびパラメータ

AT

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

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

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

この句を省略した場合、PL/SQLブロックはデフォルトのデータベースに対して実行されます。

pl/sql_block

END-EXEC

Oracleプリコンパイラ・プログラムで使用されるプログラミング言語に関係なく、埋込みPL/SQLブロックの後に指定する必要があります。もちろん、END-EXECキーワードの後にはその言語の埋込みSQL文終了記号を入れる必要があります。

EXECUTE ... END-EXECの使用上の注意

Oracleプリコンパイラは埋込みPL/SQLブロックを1つの埋込みSQL文のように扱うため、PL/SQLブロックはOracleプリコンパイラ・プログラムでSQL文を埋め込める場所であればどこにでも埋め込めます。Oracleプリコンパイラ・プログラムへのPL/SQLブロックの埋込みの詳細は、埋込みPL/SQLの使用方法を参照してください。

EXECUTE ... END-EXECの例

Oracleプリコンパイラ・プログラムにこのEXECUTE文を挿入すると、プログラムにPL/SQLブロックが埋め込まれます。

EXEC SQL EXECUTE 
 BEGIN 
 SELECT ename, job, sal 
 INTO :emp_name:ind_name, :job_title, :salary 
 FROM emp 
 WHERE empno = :emp_number; 
 IF :emp_name:ind_name IS NULL 
 THEN RAISE name_missing; 
 END IF; 
 END; 
END-EXEC

EXECUTE ... END-EXECの関連トピック

EXECUTE IMMEDIATE(実行可能埋込みSQL)