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

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
)

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました