I have a stored procedure in a postgres database. I’m using the postgres JDBC driver to execute a stored procedure, and I do not care about the return type, and can’t execute the query. It’s indicating that there’s a syntax error near the name of the function.
In procedures that return rows, I’ve been able to do this via a PreparedStatement and setting the parameters, like:
PreparedStatement prepared = connection.prepareStatement("SELECT * FROM NonQueryProcedure(?)");
prepared.setInt(1, 999);
// ....
ResulSet resultSet = prepared.executeQuery();
However, I can’t seem to get this to work for an “update” stored procedure where I don’t care about the return type. I’ve tried using connection.prepareStatement() and prepareCall(), and also tried executing it with statement.execute(), .executeUpdate(), and .executeQuery(), without success.
How can I execute a stored procedure where I don’t care about the return type?
As PostgreSQL has no “real” procedures, functions are simply executed using a
SELECTstatement:Note that inside a PL/pgSQL function, you can use the
performstatement to call such a function. But this is not available outside of a PL/pgSQL block.