我是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
语句的结果。在Oracle
和Toad
中必须有类似的内容,对吧?
答案 0 :(得分:3)
使用 Toad数据点在这里走。
执行其中包含绑定变量的存储过程,例如:mycursor
,然后确保在Toad Data Point提示您输入类型时将类型配置为CURSOR
,将方向配置为OUT
。绑定变量设置。
结果如下:
最后,如果希望避免弹出绑定变量,则可以直接从对象资源管理器中执行该过程:
右键单击该过程,然后选择操作 / 执行过程,Toad将在不提示输入数据类型的情况下运行它。
答案 1 :(得分:0)
如果您在等待工具帮助时需要解决方法,the default, free IDE for Oracle Database可以让您轻松完成这项工作。
如果您使用代码编辑器执行程序,它将自动获取所有输出,无论是OUT参数还是来自函数的RETURNS,包括反射器
或者如果您的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