首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PLSQLDeveloper窗口中打印SYS_REFCURSOR?

如何在PLSQLDeveloper窗口中打印SYS_REFCURSOR?
EN

Stack Overflow用户
提问于 2013-10-01 15:55:22
回答 2查看 9.5K关注 0票数 3

在下面的查询中,如何在PL/ IO_CURSOR的"SQL“中获取SQL值

代码语言:javascript
复制
DECLARE
  SOME_VAR_1 VARCHAR2(20);
  SOME_VAR_2 VARCHAR2(20);
  SOME_VAR_3 DECIMAL;
  IO_CURSOR SYS_REFCURSOR;
BEGIN
  SOME_VAR_1 := 'test1';
  SOME_VAR_2 := 'test2';
  SOME_VAR_3 := 1;
  IO_CURSOR := NULL;
  Get_Analysis_Data(p_in_symbol_type => SOME_VAR_1,
                    p_in_symbol => SOME_VAR_2, 
                    p_in_isr_id => SOME_VAR_3,
                    isr_main_view => IO_CURSOR);
  PRINT IO_CURSOR
END;

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-01 16:28:56

如果"SQL Window“指的是SQL*PLUS,那么要打印(使用PRINT命令)游标的内容,您需要在PL/SQL块外部声明一个绑定变量,通过执行该块为PL/SQL块内的绑定变量赋值,然后使用PRINT命令打印内容:

代码语言:javascript
复制
SQL> variable  IO_CURSOR refcursor;

SQL> DECLARE
  2    SOME_VAR_1 VARCHAR2(20);
  3    SOME_VAR_2 VARCHAR2(20);
  4    SOME_VAR_3 DECIMAL;
  5    --IO_CURSOR SYS_REFCURSOR;
  6    BEGIN
  7      SOME_VAR_1 := 'test1';
  8      SOME_VAR_2 := 'test2';
  9      SOME_VAR_3 := 1;
  10     --IO_CURSOR := NULL;  -- no need to do that
  11     Get_Analysis_Data(p_in_symbol_type => SOME_VAR_1,
  12                       p_in_symbol => SOME_VAR_2, 
  13                       p_in_isr_id => SOME_VAR_3,
  14                       isr_main_view => :IO_CURSOR);
  15   END;
  16 /

  SQL> print io_cursor;

编辑

要在PL/SQL Developer中作为选项之一查看游标的内容,只需执行以下操作:

SQL

  • 文件\新建\测试匿名PL/块。在此之前,删除IO_CURSOR SYS_REFCURSOR;变量声明。没有必要这样做。还要将isr_main_view => IO_CURSOR更改为isr_main_view => :IO_CURSOR。在这种情况下,您需要使用绑定变量。在
  1. 底部的variables window中,指定要查看其内容的引用游标的变量名(不带分号的IO_CURSOR),然后通过按绿色的triangle.
  2. After选择type

block cursor.

  1. Execute test window PL/SQL block is executed请参阅variables window的列value。按下带有省略号的按钮,查看引用光标IO_CURSOR.

的内容

票数 4
EN

Stack Overflow用户

发布于 2013-10-01 16:42:42

如果Get_Analysis_Data是一个存储过程,您可以通过打开它并使用"Run“命令(工具栏中的绿色箭头)来执行它。refcursor的内容像表格一样打印在"Variables Output“窗口中。

在这里可以找到一个简短的教程:http://www.thatjeffsmith.com/archive/2011/12/sql-developer-tip-viewing-refcursor-output/

编辑:

对不起,搞混了IDE-Tools的名字。此答案仅适用于您使用Oracle SQL-Developer...的情况。如果您不使用它,我建议您尽快切换:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19110842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档