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;
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント