【发布时间】:2011-02-25 09:34:57
【问题描述】:
我正在使用 Java 连接到 Oracle 10 数据库。 我想创建一个不带参数的存储过程(不要问为什么) 并返回很多行。具体来说,在Java中我希望能够得到这个 数据类似于:
ResultSet rs = stmt.executeQuery("call getChildless");
其中 getChildless 是查询:
SELECT objectid
FROM Object
WHERE objectid NOT IN (SELECT parent FROM subparts);
但是,我一生都无法弄清楚如何获得我的 存储过程的输出。我用谷歌搜索了它,我得到了 Oracle 不会编译的所有这些示例代码,大概是为了 以前的版本。 Refcursors 似乎出现了很多,但我不确定 如果那是我真正想要的,将它与 ResultSet 一起使用。
【问题讨论】:
-
引用游标绝对是将一堆记录传递到 ResultSet 的方法。所以我认为我们需要解决的问题是编译失败。如果您要发布(尽可能少的部分)代码和编译错误,将会有很大帮助。
-
getChildless 不能是查询。它可能是一个过程、函数或视图。如何从中检索结果取决于它是什么。
标签: java oracle stored-procedures jdbc oracle10g