在甲骨文JDBC是可以批量存储过程调用和检索OUT参数?(in Oracle JDBC is it

2019-07-29 16:28发布

我有一个存储过程中如F一个Oracle 11g数据库(一个IN,b在,C OUT)。 我想从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 =  ?

谢谢

Answer 1:

可悲的是没有。

使批量更新的能力是CallableStatement的对象相同,因为它是PreparedStatement对象。 事实上,CallableStatement对象仅限于该PreparedStatement对象具有相同的功能。 更准确地说,使用批处理更新功能时,一个CallableStatement对象可以调用需要输入参数或完全没有参数仅存储过程。

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



文章来源: in Oracle JDBC is it possible to batch stored procedure calls and retrieve OUT parameters?