在 Oracle JDBC 中是不是可以批量存储过程调用和检索 OUT 参数?
Posted
技术标签:
【中文标题】在 Oracle JDBC 中是不是可以批量存储过程调用和检索 OUT 参数?【英文标题】:in Oracle JDBC is it possible to batch stored procedure calls and retrieve OUT parameters?在 Oracle JDBC 中是否可以批量存储过程调用和检索 OUT 参数? 【发布时间】:2012-06-07 04:46:09 【问题描述】:我在像 f(a IN, b IN, c OUT) 这样的 Oracle 11g 数据库中有一个存储过程。 我想以批处理模式从 JDBC 调用它,然后读取所有 OUT 变量。 这可能吗? 到目前为止我有这个
CallableStatement statement = connection.prepareCall("f(?, ?, ?)");
for(Item i : items)
int i = 0;
statement.setString(++i, item.getA());
statement.setString(++i, item.getB());
statement.registerOutParameter(++i, Types.NUMERIC);
statement.addBatch();
statement.executeBatch();
int[] answers = ?
谢谢
【问题讨论】:
【参考方案1】:很遗憾,没有。
进行批量更新的能力与 CallableStatement 相同 对象,因为它是 PreparedStatement 对象。事实上,一个 CallableStatement 对象仅限于与 一个 PreparedStatement 对象。更准确地说,当使用批处理时 更新设施,CallableStatement 对象只能调用存储 带输入参数或根本不带参数的过程。
参考:http://docs.oracle.com/javase/1.4.2/docs/guide/jdbc/getstart/callablestatement.html#1000220
【讨论】:
以上是关于在 Oracle JDBC 中是不是可以批量存储过程调用和检索 OUT 参数?的主要内容,如果未能解决你的问题,请参考以下文章