PLSQLでレコードの結合配列をプロシージャの引数に渡す

PLSQLでレコードの結合配列をプロシージャの引数に渡す方法です。

まずレコード型を定義します。ここでは%TYPEを指定しています。

TYPE レコード型名 IS RECORD(
フィールド名1 テーブル名.カラム名%TYPE,
フィールド名2 テーブル名.カラム名%TYPE
);

このレコード型を指定した結合配列を作成します。

レコード名をrecとします。

TYPE テーブル型 IS TABLE OF rec INDEX BY BINARY_INTEGER;

これでTABLE型の結合配列が作成できます。

TABLE型の変数を宣言するには以下のように記述します。

table_rec テーブル型;

このTABLE型変数をプロシージャの引数に渡すには、そのまま引数に与えます。

TESTPROCEDURE(table_rec);

プロシージャ側は以下のように宣言します。

PROCEDURE TESTPROCEDURE(
  tab IN OUT テーブル型
)
IS
  FOR i IN 1.. tab.COUNT LOOP
    DBMS.PUTLINE(tab(i).フィールド名1);
  END LOOP;
END;
スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA