パラメータ名を指定してストアド プロシージャを呼び出そうとしましたが、JDBC がパラメータを受け入れることができませんでした。それは言います:
Method org.postgresql.jdbc4.Jdbc4CallableStatement.setObject(String,Object) is not yet implemented.
私が使うpostgresql-9.2-1003.jdbc4
これを行う他の方法はありますか?
シーケンス番号を指定するだけでよいことはわかっています。しかし、パラメータ名を指定する方が便利なので、指定したいと思います。
私のコード:
String call_statement = "{ ? = call procedure_name(?, ?, ?) }";
CallableStatement proc = connection.prepareCall(call_statement);
proc.registerOutParameter(1, Types.OTHER);
proc.setObject("param1", 1);
proc.setObject("param2", "hello");
proc.setObject("param3", true);
proc.execute();
ResultSet result = (ResultSet)proc.getObject(1);