我正在使用PostgreSQL,创建了一些存储过程。现在,我想通过JDBC访问这些存储过程并处理结果。这些存储过程的结果要么是整数,要么是一个表格。
我找到了以下资料:
CallableStatement upperProc = conn.prepareCall("{ ? = call upper( ? ) }");
upperProc.registerOutParameter(1, Types.VARCHAR);
upperProc.setString(2, "lowercase to uppercase");
upperProc.execute();
String upperCased = upperProc.getString(1);
upperProc.close();
我认为我可以处理单个整数的返回值,但是如何处理表格返回值?
CallableStatement
。对于返回标量的函数,请使用PreparedStatement.executeQuery()
和select upper(?)
,对于返回表格的函数,请使用select * from foo(?)
。 - user330315