Я новичок в PL / SQL и только что изучил курсоры в процессе обучения. Я видел параметры хранимых процедур с типом OUT SYS_REFCURSOR
, который, насколько я понимаю, его цель - «возвращать данные», как указатель в языке C. Мне было интересно, кто будет закрывать такой параметр SYS_REFCURSOR
, если процедура должна его открыть и не может закрыть? (Если процедура закрывает out OUT SYS_REFCURSOR
, тогда не будет никаких данных для возврата.)
Кроме того, я думаю, что полагаться на внешние функции, кроме хранимой процедуры, содержащей OUT SYS_REFCURSOR
параметр, чтобы закрыть курсор. Есть ли способ вернуть таблицу из хранимой процедуры без использования курсоров?