Я использую 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
Но ни работы. Пожалуйста, может кто-нибудь посоветовать, я в своем уме.
Спасибо, Роб.