Използвам PL/SQL Developer и съм написал процедура за стартиране на отчет и трябва да направя процедура за извеждане на набора от резултати.
Процедурата приема входни параметри и трябва да изведе набора от резултати.
Не мога да използвам изглед, защото процедурата извиква няколко API, които приемат параметрите, които предавам на процедурата.
Разбирам от многото търсене, че е възможно да се използва ref_cursor, но не мога да накарам ti да работи.
Опростена версия на процедурата е:
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
Но нито една работа. моля, може ли някой да ме посъветва, че съм на края на акъла си.
Благодаря ти Роб