我想使用SQL Developer调用Oracle存储过程。 proc使用sys_refcursor输出结果。我右键单击进入运行PL/SQL窗口的proc窗口。当我选择proc时,我希望它为我创建所有输入参数等。下面是我用来通过sys_refcursor循环并输出结果的代码,但是我在'v_rec v_Return%rowtype'中得到一个错误;'行:来自SQL Developer的Oracle存储过程的输出结果
ORA-06550:第6行第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;