ORA-06531: 参照しているコレクションは初期化されていません。

「ORA-06531: 参照しているコレクションは初期化されていません。」とオラクルエラーが出た場合、コレクションを初期化して上げる必要があります。

以下、サンプルです。

CREATE OR REPLACE PACKAGE BODY PACK AS

PROCEDURE PROC001(
A IN INTEGER,
B IN VARCHAR2,
C IN VARCHAR2,
D OUT INTEGER,
E OUT VARCHAR2,
F OUT INFOARRAY
)
IS
BEGIN
E := B || C;

--ここで以下のように初期化する必要がある
F := INFOARRAY();--この初期化がないとエラーになる

F.EXTEND(1);
F(1) := STRUCTS('A',2);
END PROC001;
END PACK;

INFOARRAYは以下です。

CREATE OR REPLACE TYPE 
INFOARRAY as VARRAY(9999) of STRUCTS

STRUCTSは以下です。

CREATE OR REPLACE TYPE STRUCTS AS OBJECT
(
A VARCHAR2(10),
B NUMBER
)
スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

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

CAPTCHA