sql >> Databáze >  >> RDS >> Oracle

Volání funkce pl/sql v Javě?

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!



  1. Použití `SELECT` k volání funkce

  2. MÍSTO spouštěčů – část 1

  3. Spustit uloženou proceduru z funkce

  4. Jak EXP() funguje v MariaDB