使用 JDBC 可调用 stmt 存储 proc 时返回的结果集的顺序是啥?

Posted

技术标签:

【中文标题】使用 JDBC 可调用 stmt 存储 proc 时返回的结果集的顺序是啥?【英文标题】:What order are result sets returned when using JDBC callable stmt to stored proc?使用 JDBC 可调用 stmt 存储 proc 时返回的结果集的顺序是什么? 【发布时间】:2013-03-21 21:59:48 【问题描述】:

(1) 当您在存储过程中打开多个游标,然后使用 JDBC 可调用语句遍历结果集时,每个结果集的返回顺序与它们的游标顺序相同在存储过程中打开?或者反过来呢?还是……?

(2) 有没有办法通过序列号或名称指定首先处理哪个结果集?

【问题讨论】:

【参考方案1】:

对于 1:JDBC 未定义返回结果集的顺序,因此取决于您的实际数据库系统。也就是说,存储过程以与存储过程生成的顺序不同的顺序返回结果是非常不合逻辑的。

对于 2:再一次,这不是 JDBC 定义的。但是,我还没有听说过允许您通过存储过程中的顺序以外的任何方式控制返回结果的顺序的数据库系统。

【讨论】:

以上是关于使用 JDBC 可调用 stmt 存储 proc 时返回的结果集的顺序是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 JDBC 连接在 Oracle 过程可调用语句中插入对象的 ArrayList 作为参数

Jdbc批量更新

在线程中执行 MySQL 存储过程并获取不支持的可调用语句

Hana 参数化存储过程问题简单 jdbc 模板

Java中的可调用语句不起作用

如何使用JDBC调用存储在数据库中的函数或存储过程 */