Java zapewnia CallableStatements
do takich celów.
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);
wydrukuje to samo, co w pl/sql. Zgodnie z dokumentacją Connection#prepareCall()
,
Tworzy obiekt CallableStatement do wywoływania procedur składowanych bazy danych. Obiekt CallableStatement udostępnia metody do ustawiania parametrów IN i OUT oraz metody wykonywania wywołania procedury składowanej.
Możesz także przekazać parametry funkcji. np.
conn.prepareCall("{? = CALL total_cancellations(?)}");
cstmt.setInt(2, value);
przekaże wartości do funkcji jako parametr wejściowy.
Mam nadzieję, że to pomoże!