Сложность в том, что вы используете REF CURSOR, который предназначен для набора строк, чтобы возвращать данные только для одной строки.Я полагаю, что вы просто делаете это, потому что ваше веб-приложение понимает ссылки и способы их получения из Oracle, а не типы объектов.Я также предполагаю, что по какой-то причине вы не можете просто написать один выбранный статут, чтобы извлекать данные и манипулировать ими по мере необходимости (это самый простой способ, поэтому, имея больше информации, мы можем помочь вам в этом).
Я могу придумать несколько способов сделать это, но ни один из них не очень красивый, так что, надеюсь, кто-нибудь еще подойдет с лучшей идеей.
1) Создайте курсор, выбрав рассчитанный вамипеременные из dual
DECLARE
refcur SYS_REFCURSOR;
myRow TBL%ROWTYPE;
BEGIN
myRow.aValue := 1;
myRow.aValue2 := 3;
myRow.aValue3 := 5;
OPEN refcur
FOR
select
myRow.aValue,
myRow.aValue2,
myRow.aValue3
from
dual;
CLOSE refcur;
END;
2) Создайте конвейерную функцию, которая возвращает таблицу вашего типа строки, и создайте курсор из выбора из этой функции.