如何从Oracle中的SELECT存储过程输出到Java?

时间:2010-05-29 04:07:20

标签: java oracle stored-procedures jdbc oracle10g

我正在使用Java连接到Oracle 10数据库。 我想创建一个不带参数的存储过程(不要问为什么) 并返回很多行。具体来说,在Java中我希望能够得到它 数据类似于:

ResultSet rs = stmt.executeQuery("call getChildless");

其中getChildless是查询:

SELECT objectid
FROM Object
WHERE objectid NOT IN (SELECT parent FROM subparts);

然而,我只是不能为我的生活弄清楚如何得到我的 存储过程的输出。我用谷歌搜索了,我得到了 所有这些Oracle不会编译的示例代码,大概是为了一个 以前的版本。反射器似乎出现了很多,但我不确定 如果这就是我真正想要的,那么将它与ResultSet一起使用。

4 个答案:

答案 0 :(得分:0)

我认为Oracle JDBC就像MS-SQL JDBC ......

while (rs.next())
{
    myint = rs.getInt(1);
}

答案 1 :(得分:0)

JDBC是动态类型的,它无法编译是没有意义的。 See this link to the JDBC Tutorial

答案 2 :(得分:0)

看看Retrieving Oracle Cursor with JDBC。这能满足您的需求吗?

答案 3 :(得分:0)

这可以通过oracle和中的CURSOR来完成 在java代码中遍历此CURSOR 请参考此链接:

http://www.mkyong.com/jdbc/jdbc-callablestatement-stored-procedure-cursor-example/