【问题标题】: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 =  ?

谢谢

【问题讨论】:

    标签: java stored-procedures jdbc oracle11g batch-processing


    【解决方案1】:

    很遗憾,没有。

    进行批量更新的能力与 CallableStatement 相同 对象,因为它是 PreparedStatement 对象。事实上,一个 CallableStatement 对象仅限于与 一个 PreparedStatement 对象。更准确地说,当使用批处理时 更新设施,CallableStatement 对象只能调用存储 带输入参数或根本不带参数的过程。

    参考:http://docs.oracle.com/javase/1.4.2/docs/guide/jdbc/getstart/callablestatement.html#1000220

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 2015-01-07
      • 2014-03-30
      相关资源
      最近更新 更多