Я использую PL / SQL Developer, и я написал процедуру для запуска отчета, и мне нужна процедура для вывода набора результатов.
Процедура принимает входные параметры и должна выводить набор результатов.
Я не могу использовать представление, потому что процедура вызывает несколько API, которые принимают параметры, которые я передаю в процедуру.
Из многих поисков я понимаю, что возможно использовать ref_cursor, но я не могу заставить его работать.
Упрощенный вариант процедуры:
CREATE OR REPLACE PROCEDURE IFSINFO.SHORTAGE_SHEET (vSite IN VARCHAR2,
vBuyer IN VARCHAR2,
vSupplier IN VARCHAR2,
vCursor OUT SYS_REFCURSOR)
AS
BEGIN
OPEN vCursor FOR
SELECT blah blah blah blah blah blah;
END;
Я попытался определить процедуру и отобразить набор результатов, используя:
BEGIN
vsite := 'S03';
vbuyer := 'AW';
vsupplier := '%';
vcursor refcursor;
IFSINFO.SHORTAGE_SHEET(vsite => :vsite,
vbuyer => :vbuyer,
vsupplier => :vsupplier,
vcursor => :vcursor);
print vcursor;
END;
А также:
variable rc refcursor;
exec IFSINFO.SHORTAGE_SHEET('S03','AW','TQ1',:rc2);
print rc2
Но ни одна из них не работает. пожалуйста, кто-нибудь может посоветовать, что я нахожусь в своем уме.
Спасибо
Rob