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

发布于 2024-09-03 18:38:18 字数 443 浏览 2 评论 0原文

我正在使用 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 一起使用。

I'm using Java to connect to an Oracle 10 Database.
I want to create a stored procedure (don't ask why) that takes no arguments
and returns a lot of rows. Specifically, in Java I want to be able to get this
data with something like:

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

where getChildless is the query:

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

However, I just cannot for the life of me figure out how to get my
output from the stored procedure. I've googled it and I get
all this sample code that Oracle won't compile, presumably it's for a
previous version. Refcursors seem to come up a lot, but I'm not sure
if that's what I actually want, to use it with a ResultSet.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

戏剧牡丹亭 2024-09-10 18:38:18

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

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

I presume Oracle JDBC is like MS-SQL JDBC...

while (rs.next())
{
    myint = rs.getInt(1);
}
成熟的代价 2024-09-10 18:38:18

JDBC是动态类型的,它不能编译是没有意义的。
查看 JDBC 教程的链接

JDBC is dynamically typed, It does not make sense that it would not compile.
See this link to the JDBC Tutorial

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文