Java biedt CallableStatements
voor dergelijke doeleinden.
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);
zal hetzelfde afdrukken als in de pl/sql. Volgens docs Connection#prepareCall()
,
Maakt een CallableStatement-object voor het aanroepen van opgeslagen databaseprocedures. Het object CallableStatement biedt methoden voor het instellen van de IN- en OUT-parameters en methoden voor het uitvoeren van de aanroep van een opgeslagen procedure.
U kunt ook parameters voor de functie doorgeven. bijvoorbeeld
conn.prepareCall("{? = CALL total_cancellations(?)}");
cstmt.setInt(2, value);
zal de waarden doorgeven aan de functie als invoerparameter.
Ik hoop dat dit helpt!