「Oracle」EXECUTE文でプロシージャを呼び出すサンプル

環境
Oracle Database 11g Release 11.2.0.1.0 – 64bit Production
PL/SQL Release 11.2.0.1.0 – Production

使用例
1.プロシージャを作成します
構文
CREATE OR REPLACE PROCEDURE プロシージャ名(変数1 IN NUMBER,変数2 OUT NUMBER)
処理コード
SQL構文

SQL> CREATE OR REPLACE PROCEDURE TESTPROC(cftA IN NUMBER,cftB OUT NUMBER)
  2  IS
  3      n NUMBER := 20;
  4  BEGIN
  5      cftB := cftA + n;
  6  EXCEPTION
  7      WHEN OTHERS THEN
  8          DBMS_OUTPUT.PUT_LINE('ERROR');
  9  END;
 10  /

プロシージャが作成されました。

2.IN、OUTの引数をパラメータを渡します
構文
variable 変数名 データ型;

IN,OUTの引数にパラメータを設定します。

SQL> variable ta number;
SQL> variable tb number;
SQL> EXECUTE :ta := 15;

3.プロシージャを呼び出します

SQL>  EXECUTE TESTPROC(:ta,:tb);

PL/SQLプロシージャが正常に完了しました。

4.変数の値を出力して結果を確認します

SQL> print :tb;

        TB
----------
        35

 

Oracle

Posted by arkgame