create or replace type record_msg as object
(
   vindex integer,
   msg varchar2(20)
);create or replace type sm_msg as table of record_msg ;procedure plsqltest
(
   retmsg out sm_msg 
)
is       
begin    
    for i in 1 .. 5 loop
      retmsg(i).vindex:= i;      --运行到这里的时候体是错误:引用未初始化的收集
      retmsg(i).msg := ascii(i);
    end loop;
end;retmsg怎么初始化??如果type在package里定义,那么上述过程运行就没问题了,package中的type定义如下:
type record_msg is record
(
    vindex integer,
    msg varchar2(20)
);
type sm_msg is table of record_msg index by BINARY_INTEGER;