Java poskytuje CallableStatements
pro takové účely .
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);
vytiskne stejně jako vy v pl/sql. Podle dokumentů Connection#prepareCall()
,
Vytvoří objekt CallableStatement pro volání databázových uložených procedur. Objekt CallableStatement poskytuje metody pro nastavení jeho parametrů IN a OUT a metody pro provedení volání uložené procedury.
Můžete také předat parametry pro funkci. například
conn.prepareCall("{? = CALL total_cancellations(?)}");
cstmt.setInt(2, value);
předá hodnoty funkci jako vstupní parametr.
Doufám, že to pomůže!