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

View results of pl/sql stored procedure in Toad?

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

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

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

如果您在等待工具帮助时需要解决方法,the default, free IDE for Oracle Database 可以让这变得非常简单。

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

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

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

并且输出:

PL/SQL procedure successfully completed.



SYSDATE             USER                                                                                                                            
------------------- --------------------------------------------------------------------------------------------------------------------------------
27-JUN-19  13.58.47 HR   

给你,使用 Toad 数据点

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

结果如下:

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

Right-click 程序并选择 Operations / Execute Procedure,Toad 将 运行 它,无需提示输入数据类型。