Oracle 11g从Toad中的存储过程查看表的结果集

时间:2014-02-05 08:25:10

标签: oracle oracle11g

我是Oracle 11g的新手,希望查看存储过程的表输出的结果集。我创建了程序并执行了它。我只想以SQL Server中的网格形式查看输出。请帮帮我。

这是我的程序声明:

规格:

TYPE ret_cursor IS REF CURSOR;
procedure get_data(
p_start_dt in varchar2, 
p_end_dt in varchar2, 
p_results out ret_cursor,
p_err_no out number,
p_err_msg out varchar2
);

体:

PROCEDURE get_data(
      p_start_dt    IN      VARCHAR2, 
      p_end_dt      IN      VARCHAR2, 
      p_results     OUT     ret_cursor,
      p_err_no      OUT     NUMBER,
      p_err_msg     OUT     VARCHAR2
   )

2 个答案:

答案 0 :(得分:0)

如果您只想查看结果,可以使用SQL * Plus,它是REFCURSOR绑定变量和PRINT命令:

SQL> create or replace procedure p
  2  (
  3    x out sys_refcursor
  4  )
  5  is
  6  begin
  7    open x for select 1 a, 'a' b from dual;
  8  end;
  9  /

Procedure created.

SQL> var rc refcursor
SQL> exec p(:rc)

PL/SQL procedure completed.

SQL> print rc

         A B                                                                    
---------- -                                                                    
         1 a    

答案 1 :(得分:0)

如果你正在使用TOAD,那么很容易看到refcursor的输出。

  1. 首先复制Toad编辑器中的代码

    DECLARE
     v_err_no number;
     v_err_msg VARCHAR2(200);
    BEGIN
    get_data(
       p_start_dt    =>  SYSDATE,      --depend on you
       p_end_dt      => SYSDATE+10,    --depend on you
       p_results     =>   :ret_cursor,
       p_err_no      =>   v_err_no,
       p_err_msg     =>   v_err_msg
       );
    --print error message   
    END;   
    
  2. 现在转到编辑器 - >执行语句f9,然后单击

  3. 出现弹出窗口,并询问你的ret_cursor类型,选择type作为光标,按照屏幕截图所示进行操作

  4. select type of refcursor

    • 单击“确定”,然后您可以在数据网格中查看结果。
相关问题