Ошибка ORA-06531: Reference to uninitialized collection

Они могли бы помогать мне знать, который является проблемой с моей программой... У меня есть этот код внутри пакета:

TYPE t_rec IS RECORD(t_id INTEGER,t_text VARCHAR2(40));
TYPE t_recs IS TABLE OF t_rec;

FUNCTION test_func RETURN tp_recs PIPELINED AS 
currec t_recs;
cur    t_rec;
reg number := 0;
BEGIN

for reg in 1..10 loop

  currec(reg).tt_id   := reg;
  currec(reg).tt_text := 'test '||reg;
end loop;

for reg in currec.first .. currec.last loop

  cur.tt_id   := currec(reg).tt_id;
  cur.tt_text := currec(reg).tt_text;

  pipe row(cur);
end loop;

END;

Когда я реализую select на функции, меня бросает ошибка.

SELECT * 
FROM TABLE( test_pkg.test_func());

ORA-06531: Reference to uninitialized collection

1
задан 12.04.2017, 20:58
1 ответ

В ningГєn момент ты помещаешь данные currec. Докуда это у тебя есть, это переменная типа TABLE OF другого типа. Но ты не распределил ему ningГєn информацию, тогда ничего нет из-за того, что не пробегает даже положения, которые нужно консультировать используя Г-ndice reg

0
ответ дан 24.11.2019, 09:58