次に、OracleデータベースのINSERTストアド・プロシージャの例を示します。

1.テーブルSQLスクリプト

DBUSERテーブル作成スクリプト。

CREATE TABLE DBUSER (
  USER__ID       NUMBER (5)    NOT NULL,
  USERNAME      VARCHAR2 (20)  NOT NULL,
  CREATED__BY    VARCHAR2 (20)  NOT NULL,
  CREATED__DATE  DATE          NOT NULL,
  PRIMARY KEY ( USER__ID )
 )

2.ストアドプロシージャ

ストアドプロシージャは、4つのINパラメータを受け入れ、テーブル “DBUSER”に挿入します。

CREATE OR REPLACE PROCEDURE insertDBUSER(
       p__userid IN DBUSER.USER__ID%TYPE,
       p__username IN DBUSER.USERNAME%TYPE,
       p__createdby IN DBUSER.CREATED__BY%TYPE,
       p__date IN DBUSER.CREATED__DATE%TYPE)
IS
BEGIN

  INSERT INTO DBUSER ("USER__ID", "USERNAME", "CREATED__BY", "CREATED__DATE")
  VALUES (p__userid, p__username,p__createdby, p__date);

  COMMIT;

END;/....

===  3. PL/SQLからのコール

PL/SQLから次のように呼び出します。

BEGIN
insertDBUSER(1001,’mkyong’,’system’,SYSDATE);
END;

** 結果** レコードは `insertDBUSER`ストアプロシージャを介して` DBUSER`テーブルに挿入されます。

link://tag/insert/[insert]link://tag/oracle/[oracle]link://tag/store-procedure/[ストアプロシージャ]