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

时间:2013-11-19 18:28:12

标签: oracle exec procedure plsqldeveloper ora-00900

我已经使用了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;

在TOAD中,我可以将它放在SQL编辑器中并按F5“执行为脚本”,输出就可以了。

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

1 个答案:

答案 0 :(得分:4)

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

但Test Windows确实支持游标。首先,在单独的窗口中创建一个示例过程:

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;
/

打开测试窗口。添加Cursor类型的变量。添加一个匿名PL / SQL块,该块使用该变量作为样本过程的参数。运行PL / SQL块,它将填充光标。 。PL/SQL Developer Test Window

现在展开<Cursor>值,结果将显示在单独的窗口中:PL/SQL Developer cursor results