我正在" ORA-06531:未正式收集的参考"甚至在初始化集合以分配值之后。能否请你帮忙。请找到以下代码。
create or replace TYPE TYP_GRP_ID is object (grp_id number);
create or replace TYPE TAB_GROUP is table of TYP_GRP_ID;
create or replace PACKAGE TEST AS
PROCEDURE TEST;
END;
create or replace PACKAGE BODY TEST AS
PROCEDURE TEST
IS
acc_arr TAB_GROUP;
BEGIN
acc_arr.EXTEND;
acc_arr := new TAB_GROUP(null);
acc_arr(acc_arr.LAST).grp_id := 1000;
dbms_output.put_line(acc_arr(acc_arr.LAST).grp_id);
END;
END;
提前致谢。
马修
答案 0 :(得分:0)
需要初始化acc_arr,见下面更新代码
create or replace PACKAGE BODY TEST AS
PROCEDURE TEST
IS
acc_arr TAB_GROUP := TAB_GROUP();
BEGIN
acc_arr.EXTEND;
-- acc_arr := new TAB_GROUP(null);
acc_arr(acc_arr.LAST).grp_id := 1000;
dbms_output.put_line(acc_arr(acc_arr.LAST).grp_id);
END;
END;