Поля разворачиваются функцией table из результата функции, возвращающей массив record-ов.
Код: Выделить всё
t_record is record(...);
a_record is table of t_record;
function get_records (...)
return a_record parallel_enable pipelined;
procedure test_records
as
myRecord t_record;
begin
select * into myRecord from table(get_records(...)); --<< Тут отладчик виснет
end;