gpt4 book ai didi

oracle - 如何使用 PL SQL Developer 窗口打印 SYS_REFCURSOR?

转载 作者:行者123 更新时间:2023-12-02 01:53:54 32 4
gpt4 key购买 nike

在下面的查询中如何获取 PL/SQL 的“SQL 窗口”中的 IO_CURSOR 值

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;

enter image description here

最佳答案

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

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 中查看游标的内容,作为选项之一,您只需执行以下操作:

  1. 文件\新建\测试窗口
  2. 将您的匿名 PL/SQL block 复制/粘贴到此处。在此之前删除 IO_CURSOR SYS_REFCURSOR; 变量声明。没有必要。另外,将 isr_main_view => IO_CURSOR 更改为 isr_main_view => :IO_CURSOR。在这种情况下您需要使用绑定(bind)变量。
  3. 测试窗口底部的变量窗口中指定您想要查看其内容的引用游标的变量名称(IO_CURSOR code> 前面不带分号)并选择类型 光标
  4. 按绿色三角形执行该 block 。
  5. PL/SQL block 执行后,请参阅变量窗口 列。按带有省略号的按钮可查看引用光标IO_CURSOR 的内容。

关于oracle - 如何使用 PL SQL Developer 窗口打印 SYS_REFCURSOR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19110842/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com