Oracle 12cでプロシージャ(変数あり)を作成する

2021年11月18日

書式

CREATE OR REPLACE PROCEDURE <プロシージャ名>(パラメータ IN/OUT 型)
IS
   変数宣言
BEGIN
   処理コード
END;

ファンクション(値を戻すもの)およびプロシージャ(値を戻さないもの)などのスキーマ・レベルまたはスタンドアロン・サブプログラムは、Oracle Databaseでコンパイルされ、格納されます。
一度コンパイルされると、そのようなサブプログラムはスキーマ・オブジェクトであるストアド・プロシージャまたはストアド・ファンクションになり、Oracle Databaseに接続しているアプリケーションから参照されるかコールされることがあります。

使用例

CREATE OR REPLACE PROCEDURE testPro(tNo IN NUMBER)
IS
  tSum NUMBER; 
BEGIN
  UPDATE USER_TBL
  SET sum = sum + 10
  WHERE userNo = tNo;
END;

説明
変数:tNo
プロシージャ名:testPro
プロシージャtestProが変数の値を受け取って、UPDATE構文を実行します

Oracle 12c

Posted by arkgame