【发布时间】:2011-10-24 03:06:33
【问题描述】:
我正在尝试执行一个包过程,它有几个 in 参数和一个 REF CURSOR out 参数,但似乎无法为TORA(我的 SQL IDE)弄清楚它
这是我想执行并查看光标的过程的人为示例:
PROCEDURE get_peeps_in_city ( pi_city IN varchar(100), po_recordset OUT REF CURSOR )
IS
BEGIN
OPEN po_recordset
FOR Select Id,
FName,
LName
FROM People
WHERE City like '%' || pi_city || '%'
END;
这是我迄今为止尝试过的:
DECLARE
v_cursor REF CURSOR;
BEGIN
execute PKG_PEEPS.get_peeps_in_city('Chicago', v_cursor);
END
我得到的错误类似于:
PLS-00103:在期待其中一个时遇到符号“END” 下列的: 开始函数包 pragma 过程子类型类型使用形式当前 光标
【问题讨论】:
-
那么问题是什么?有什么错误吗?
-
好像你忘记了 OPEN 光标后的分号 (;)
-
你可以忽略任何语法错误,代码和我的生产代码不一样。我可以保证程序代码正常工作并且语法合理,因为它适用于多种不同的应用程序。问题的核心是如何专门从TORA调用带有ref cursor out参数的存储过程。
-
我明白了......在这种情况下我不知道))我已经下载并安装了这个软件,因为它对我很感兴趣(我首先从你那里听说过)。它看起来既可爱又舒适,但由于某种原因,它在我使用它 1 分钟后就崩溃了((
-
顺便说一句,如果我们省略 execute 关键字会怎样?我记得在plsql中没有必要