0

我是 Oracle 的新手,我用它Toad Data Point来创建和测试存储过程。

我创建了这个简单的存储过程:

CREATE OR REPLACE PROCEDURE dummy_sp (
                      p_recordset OUT SYS_REFCURSOR) AS 
BEGIN 
  OPEN p_recordset FOR
      select sysdate, user from dual;
END dummy_sp ;
/

我执行了这个,Toad 的结果是Executed Successfully.

现在,我想查看这个存储过程的结果。在Toad Data Point我输入以下内容:

variable mycursor refcursor;
call dummy_sp ( :mycursor );

我收到一个要求输入参数的弹出窗口。我单击“确定”并收到错误消息ORA-00900: invalid SQL statement

如何查看 SP 的dummy_sp结果Toad Data Point

SQL Server我可以运行exec usp_sales并查看select语句的结果。和 中必须有类似的东西OracleToad对吗?

4

2 回答 2

4

在这里,使用Toad Data Point

执行其中包含绑定变量的存储过程,如:mycursor,然后确保将类型CURSOR和方向配置为OUT当 Toad Data Point 提示您进行绑定变量设置时。

在此处输入图像描述

结果如下:

在此处输入图像描述

最后,如果您希望避免弹出绑定变量,您可以直接从对象资源管理器执行该过程:

右键单击该过程并选择Operations / Execute Procedure,Toad 将运行它,而不提示输入数据类型。

于 2019-06-26T19:08:07.607 回答
0

如果您在等待工具帮助时需要解决方法,默认的免费 IDE for Oracle Database可以让您轻松完成此操作。

如果您使用代码编辑器执行程序,它将自动获取任何输出,无论是 OUT 参数还是函数的 RETURN,包括您的 refcursor

在此处输入图像描述

或者,如果您的 GUI 具有适当的 SQLPlus 脚本执行支持(SQL Developer 支持,但不确定您的程序):

var x refcursor
exec dummy_sp(:x);
print :x;

和输出:

PL/SQL procedure successfully completed.



SYSDATE             USER                                                                                                                            
------------------- --------------------------------------------------------------------------------------------------------------------------------
27-JUN-19  13.58.47 HR   
于 2019-06-26T17:18:45.137 回答