MySQL 中返回光标
我们如何从 MySQL 存储过程(例程)返回游标。或者另一种从 MySQL Proc 将值列表返回到 Java 程序的方法。我们正在尝试在 Oracle 中实现与 Sys Ref Cursor 类似的功能,看起来 MySQL 中也有类似的功能。但想知道这是一个非常常见的用例,应该如何获取 mysql 中 proc 返回的值列表。
版本 - MySQL-server-5.5.15
How do we return a cursor from MySQL Stored Procedure (Routines). Or another approach to return a list of values back to a Java program from the MySQL Proc. We are trying to implement the similar functionality as Sys Ref Cursor in Oracle and looks like there is similar thing in MySQL. But wondering as this a very common usecase, what should be a the way to get a list of values returned by a proc in mysql.
Version - MySQL-server-5.5.15
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
MySQL:
Java:
MySQL:
Java:
我希望有所帮助: 什么相当于使用 JDBC 时 MySQL 中 Oracle 的 REF CURSOR?
这是上面参考线程中提到的最新版本:
http://dev.mysql。 com/doc/refman/5.6/en/connector-j-reference-implementation-notes.html
它仍然说“MySQL不支持SQL游标,并且JDBC驱动程序不模拟它们,所以“setCursorName()”没有效果。”
I hope that helps: What is the equivalent of Oracle’s REF CURSOR in MySQL when using JDBC?
Here is the latest version of mentioned in thread above reference:
http://dev.mysql.com/doc/refman/5.6/en/connector-j-reference-implementation-notes.html
It still says that "MySQL does not support SQL cursors, and the JDBC driver doesn't emulate them, so "setCursorName()" has no effect."
“将值列表返回给 Java 程序”。 MySql(和 Connector/J)支持存储过程的多个输出参数。如果这不是您想要的,并且您想要一个结果集,您可以在存储过程中执行 SELECT 操作,此 SP 返回一个结果集,您可以使用 CallableStatement.executeQuery() 读取该结果集
"Return The list of values back to Java Program". MySql (and Connector/J) supports multiple output parameter for stored procedures. If this is not what you want, and you want a result set instead, you can do a SELECT inside your stored procedure and this SP returns a result set, that you can read e.g with CallableStatement.executeQuery()