EXECUTE CLPPlus コマンド
EXECUTE CPPPlus コマンドは、現在接続されているデータベース内のプロシージャーを実行します。 変数を定義して、単一行 PL/SQL ステートメントを実行するためにも使用されます。
呼び出し
このコマンドは CLPPlus インターフェースから実行する必要があります。
許可
EXECUTE CPPPlus コマンドの実行に使用するユーザー ID に、以下のいずれかの特権があることを確認する必要があります。
- プロシージャーに対する EXECUTE 特権
- DATAACCESS 権限
必要な接続
データベースに接続している必要があります。
コマンド構文
コマンド・パラメーター
- procedure-name
- 呼び出すプロシージャーを指定します。 プロシージャーはカタログされていなければなりません。
- PL/SQL-statement
- 実行する PL/SQL ステートメントを指定します。
- variable-definition
- 変数の定義を指定します。
- argument
- parameter-name
プロシージャーを実行するために使用するすべての名前付きパラメーターが、プロシージャー定義内に存在しなければなりません。
パラメーター名は固有でなければなりません。
カタログされていないプロシージャーを、名前付きパラメーターを使用して実行することはできません。
- value
- パラメーターに関連付けられた値を指定します。n 番目の名前なしの値が、プロシージャーの CREATE PROCEDURE ステートメントで定義された n 番目のパラメーターに対応します。 名前付き値は、指定する順序に関係なく、同じ名前付きパラメーターに対応します。
例
- CREATE PROCEDURE ステートメントを利用して、save_tester_details_PROC というプロシージャーを作成します。このプロシージャーを EXECUTE コマンドで実行します。
> SQL> CREATE PROCEDURE save_tester_details_PROC (tno, IN integer, tname IN varchar, tadd IN varchar) AS BEGIN INSERT INTO tester1 VALUES (tno, tname, tadd); END; / > The SQL command completed successfully. > SQL> EXECUTE save_tester_details_PROC(1, 'John Smith', 'Address1'); > DB250000I: The SQL command completed successfully. - EXECUTE コマンドは複数行にまたがっており、ブロック終了文字 / を使用して処理のためにコマンドをサブミットします。 ブロック終了文字 / は、複数行にまたがるコマンドの最後で使用する必要があります。
SQL> exec dbms_output.put_line('test serveroutput') 2 / test serveroutput Db250000I: The command completed successfully. - EXECUTE コマンドで、単一の PL/SQL ステートメントを実行します。
SQL> Exec BEGIN dbms_output.put_line('TEST EXEC'); END 2 / Db250000I: The command completed successfully. - EXECUTE コマンドで、変数を定義します。
SQL> Variable bindvar varchar(20) SQL> Execute :bindvar := 'value' ;
