我是Oracle和sql navigator的新手。我似乎无法找到执行存储过程并查看其结果的方法。 proc创建如下。如何在sql导航器中执行此proc。我正在使用sql navigator 6.7。另外,请注意,proc正在使用ref-cursor。
PROCEDURE getdata
( p_id IN VARCHAR2,
p_date IN DATE,
p_out OUT ref_cursor)
IS
BEGIN
OPEN p_out FOR
SELECT *
FROM OPS_ARW.logs
WHERE member_id = p_id
AND date>p_date;
END;
PS:我很确定这是重复的。如果您只能将我重定向到正确的位置,我将无法找到它。
答案 0 :(得分:0)
这个问题已经过了很长时间,但是由于我花了很多时间来构建这个代码,这里是针对类似问题运行的解决方案。注意:我的程序会返回 id , codboard , descrboard 和 TABNUM 列。我正在使用Sql Navigator:
declare
l_list_boards sys_refcursor;
l_id number;
l_codboard VARCHAR2(50 BYTE);
l_descrboard VARCHAR2(250 BYTE);
l_TABNUM NUMBER;
begin
PACK_NAME.GetBoardsList(list_boards=> l_list_boards);
DBMS_OUTPUT.put_line ('Results: ');
loop
fetch l_list_boards into l_id, l_codboard, l_descrboard, l_TABNUM;
DBMS_OUTPUT.put_line(l_descrboard);
EXIT WHEN l_list_boards%NOTFOUND;
end loop;
close l_list_boards;
end;