EXECUTE CLPPlus コマンド

EXECUTE CPPPlus コマンドは、現在接続されているデータベース内のプロシージャーを実行します。 変数を定義して、単一行 PL/SQL ステートメントを実行するためにも使用されます。

呼び出し

このコマンドは CLPPlus インターフェースから実行する必要があります。

許可

EXECUTE CPPPlus コマンドの実行に使用するユーザー ID に、以下のいずれかの特権があることを確認する必要があります。
  • プロシージャーに対する EXECUTE 特権
  • DATAACCESS 権限
一致するプロシージャーが存在しても、ステートメントの許可 ID がそのプロシージャーの実行を許可されていなければ、エラーが戻されます (SQLSTATE 42501)。

必要な接続

データベースに接続している必要があります。

コマンド構文

構文図を読む構文図をスキップするEXECUTEEXECprocedure-name(,argument)PL/SQL-statementvariable-definition ;/
argument
構文図を読む構文図をスキップするparameter-nameexpressionDEFAULTNULL

コマンド・パラメーター

procedure-name
呼び出すプロシージャーを指定します。 プロシージャーはカタログされていなければなりません。
PL/SQL-statement
実行する PL/SQL ステートメントを指定します。
variable-definition
変数の定義を指定します。
argument
parameter-name

プロシージャーを実行するために使用するすべての名前付きパラメーターが、プロシージャー定義内に存在しなければなりません。

パラメーター名は固有でなければなりません。

カタログされていないプロシージャーを、名前付きパラメーターを使用して実行することはできません。

value
パラメーターに関連付けられた値を指定します。n 番目の名前なしの値が、プロシージャーの CREATE PROCEDURE ステートメントで定義された n 番目のパラメーターに対応します。 名前付き値は、指定する順序に関係なく、同じ名前付きパラメーターに対応します。
expression
ユーザー指定のパラメーター値リストを、呼び出されるプロシージャーに渡します。
NULL
パラメーター値として NULL を渡します。
DEFAULT
CREATE PROCEDURE ステートメントでデフォルト値が定義されている場合、その指定されたデフォルトがパラメーター値として渡されます。 デフォルト値が指定されていない場合、パラメーター値として NULL 値が渡されます。

  1. 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.
  2. EXECUTE コマンドは複数行にまたがっており、ブロック終了文字 / を使用して処理のためにコマンドをサブミットします。 ブロック終了文字 / は、複数行にまたがるコマンドの最後で使用する必要があります。
        SQL> exec dbms_output.put_line('test serveroutput') 
        2   /
        test serveroutput
        Db250000I: The command completed successfully.
  3. EXECUTE コマンドで、単一の PL/SQL ステートメントを実行します。
        SQL> Exec BEGIN dbms_output.put_line('TEST EXEC'); END 
             2
             /
        Db250000I: The command completed successfully.
  4. EXECUTE コマンドで、変数を定義します。
        SQL> Variable bindvar varchar(20)
        SQL> Execute :bindvar := 'value' ;