在Toad中查看pl / sql存储过程的结果?

时间:2019-06-26 17:01:38

标签: oracle oracle11g toad toad-data-point

我是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

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

SQL Server中,我可以运行exec usp_sales并查看select语句的结果。在OracleToad中必须有类似的内容,对吧?

2 个答案:

答案 0 :(得分:3)

使用 Toad数据点在这里走。

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

enter image description here

结果如下:

enter image description here

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

右键单击该过程,然后选择操作 / 执行过程,Toad将在不提示输入数据类型的情况下运行它。

答案 1 :(得分:0)

如果您在等待工具帮助时需要解决方法,the default, free IDE for Oracle Database可以让您轻松完成这项工作。

如果您使用代码编辑器执行程序,它将自动获取所有输出,无论是OUT参数还是来自函数的RETURNS,包括反射器

enter image description here

或者如果您的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