0

我是 Oracle 和 sql 导航器的新手。我似乎找不到执行存储过程并查看其结果的方法。proc的创建如下。如何在 sql navigator 中执行此过程。我正在使用 sql 导航器 6.7。另外,请注意 proc 正在使用 out 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:我很确定这是重复的。如果您只能将我重定向到正确的位置,我将不胜感激,因为我找不到它。

4

1 回答 1

0

这个问题已经很久了,但是由于我花了很多时间来构建这段代码,这里是我针对类似问题的运行解决方案。注意:我的过程返回列idcodboarddescrboardTABNUM。我正在使用 Sql 导航器:

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; 
于 2016-01-15T10:38:06.143 回答