J'ai une procédure stockée sur mon postgresqlbase de données qui retourne une valeur entière. Lorsque j'appelle ma procédure client jdbc sous CallableStatement, lorsque j'appelle la méthode execute () sur l'objet CallableStatement, il ne renvoie qu'un booléen. Comment puis-je lire la valeur de retour effective de la fonction?
Réponses:
3 pour la réponse № 1Vous devez obtenir un ResultSet via:
ResultSet rs = stmt.executeQuery("SELECT * FROM setoffunc()");
while (rs.next()) {
// read results
}
rs.close();
stmt.close();
Ou:
// 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();
Voir la documentation pour plus de détails: http://jdbc.postgresql.org/documentation/80/callproc.html