INOUT参数既作输入又做输出用. 除了需要使用setDataType(value)之外, 还需要registerOutParameter. 例如:
String sql = "CALL ALTOBJ ( SOMETHING, ?, ?)"; // 第一个参数为INOUT参数, 第二个为OUT
CallableStatement proc = connection.prepareCall(sql);
proc.setInt(1, -1); // 作为IN时, 提供Value
proc.registerOutParameter(1, Types.INTEGER); // 作为OUT时 注册输出参数
proc.registerOutParameter(2, Types.VARCHAR); // 第二个参数为OUT参数, 仅注册.
proc.executeUpdate();
JDBC基础教程之CallableStatement http://www.java-cn.com/club/html/42/n-4942.html