/ / JDBC: Überprüfen Sie den Rückgabewert der gespeicherten Prozedur - java, sql, postgresql, gespeicherte Prozeduren, jdbc

JDBC: Rückgabewert der gespeicherten Prozedur überprüfen - java, sql, postgresql, gespeicherte Prozeduren, jdbc

Ich habe eine gespeicherte Prozedur auf meinem PostgresqlDatenbank, die einen ganzzahligen Wert zurückgibt. Wenn ich meine Prozedur aus dem jdbc-Client mit CallableStatement aufrufe und die Methode execute () für das CallableStatement-Objekt aufrufen, wird nur ein boolean zurückgegeben. Wie kann ich den effektiven Rückgabewert der Funktion lesen?

Antworten:

3 für die Antwort № 1

Sie benötigen ein ResultSet über:

ResultSet rs = stmt.executeQuery("SELECT * FROM setoffunc()");
while (rs.next()) {
// read results
}
rs.close();
stmt.close();

Oder:

// Procedure call.
CallableStatement proc = conn.prepareCall("{ ? = call refcursorfunc() }");
proc.registerOutParameter(1, Types.OTHER);
proc.execute();
ResultSet results = (ResultSet) proc.getObject(1);
while (results.next()) {
// read results
}
results.close();
proc.close();

Weitere Informationen finden Sie in der Dokumentation: http://jdbc.postgresql.org/documentation/80/callproc.html