在 PL/SQL Developer SQL 窗口中执行存储过程

use*_*532 1 oracle procedure exec ora-00900 plsqldeveloper

我已经使用 TOAD 一段时间了,但我的部门要求我评估 PL/SQL Developer 作为可能的更改。

我正在尝试在 PL/SQL 开发人员中运行以下内容。它给出了一个错误说:ORA-00900:无效的 SQL 语句

VARIABLE mycur    refcursor;
VARIABLE errorseq NUMBER;
VARIABLE errormsg CHAR;
EXEC rums.rums_sp_tv_project_breakdown2(94090,:mycur);
print mycur;
Run Code Online (Sandbox Code Playgroud)

在 TOAD 中,我可以将它放在 SQL 编辑器中,然后按 F5 键以“作为脚本执行”,输出看起来很好。

关于如何做到这一点的任何想法?我看到 PL/SQL Developer 有一个命令窗口,但我不是 SQLPlus 专家(也许是我的问题),也无法让它在命令窗口中运行。

Jon*_*ler 5

PL/SQL Developer 命令窗口不支持refcursor,它显示消息REFCURSOR not supported

但是测试窗口确实支持游标。首先,在单独的窗口中创建一个示例程序:

create or replace procedure test_procedure(p_cursor in out sys_refcursor) is
begin
    open p_cursor for select 'column 1' col1, 'column 2' col2 from dual;
end;
/
Run Code Online (Sandbox Code Playgroud)

打开一个测试窗口。添加一个 Cursor 类型的变量。添加一个匿名 PL/SQL 块,该块使用该变量作为示例过程的参数。运行 PL/SQL 块,它将填充游标。.PL/SQL 开发人员测试窗口

现在展开该<Cursor>值,结果将出现在单独的窗口中:PL/SQL Developer 游标结果