Я пытаюсь вызвать Oracle хранимую процедуру, используя SQL Developer. Функция proc выводит результаты с использованием sys_refcursor. Я нажимаю правой кнопкой мыши в окне proc, которое выводит окно Run PL/SQL. Когда я выбираю proc, я хочу, чтобы он создал все входные параметры и т. Д. Для меня. Ниже приведен код, который я использую, чтобы попытаться выполнить цикл sys_refcursor и вывести результаты, но я получаю сообщение об ошибке «v_rec v_Return% rowtype;» line:Результаты вывода Oracle хранимой процедуры из SQL Developer
ORA-06550: строка 6 column 9: PLS-00320: объявление типа этого выражения является неполным или искаженным. ORA-06550: строка 6 колонок 9: PL/SQL: Пункт игнорировал
код поставщика 6550
Я нашел зацикливание кода на пару других сайтов, и это, кажется, способ сделать это, но это не работает для меня независимо от того, что я пытаюсь. Другой вопрос - на DBMS_OUTPUT.PUT_LINE ('name =' || v_rec.ADM) я ссылаюсь на v_rec правильно, то есть v_rec. "Column_name" правильный путь ??
Я не привык к Oracle и никогда не использовал SQL plus. Любые предложения оценили.
DECLARE
P_CAE_SEC_ID_N NUMBER;
P_PAGE_INDEX NUMBER;
P_PAGE_SIZE NUMBER;
v_Return sys_refcursor;
v_rec v_Return%rowtype;
BEGIN
P_CAE_SEC_ID_N := NULL;
P_PAGE_INDEX := 0;
P_PAGE_SIZE := 25;
CAE_FOF_SECURITY_PKG.GET_LIST_FOF_SECURITY(
P_CAE_SEC_ID_N => P_CAE_SEC_ID_N,
P_PAGE_INDEX => P_PAGE_INDEX,
P_PAGE_SIZE => P_PAGE_SIZE,
P_FOF_SEC_REFCUR => v_Return
);
-- Modify the code to output the variable
-- DBMS_OUTPUT.PUT_LINE('P_FOF_SEC_REFCUR = ');
loop
fetch v_Return into v_rec;
exit when v_Return%notfound;
DBMS_OUTPUT.PUT_LINE('name = ' || v_rec.ADM);
end loop;
END;