Java bietet CallableStatements
für solche Zwecke .
CallableStatement cstmt = conn.prepareCall("{? = CALL total_cancellations()}");
cstmt.registerOutParameter(1, Types.INTEGER);
cstmt.setInt(2, acctNo);
cstmt.executeUpdate();
int cancel= cstmt.getInt(1);
System.out.print("Cancellation is "+cancel);
druckt dasselbe wie in pl/sql. Gemäß docs Connection#prepareCall()
,
Erstellt ein CallableStatement-Objekt zum Aufrufen von gespeicherten Datenbankprozeduren. Das CallableStatement-Objekt bietet Methoden zum Einrichten seiner IN- und OUT-Parameter sowie Methoden zum Ausführen des Aufrufs einer gespeicherten Prozedur.
Sie können der Funktion auch Parameter übergeben. zum Beispiel ,
conn.prepareCall("{? = CALL total_cancellations(?)}");
cstmt.setInt(2, value);
übergibt die Werte als Eingabeparameter an die Funktion.
Hoffe das hilft!