Oracle
 sql >> база данни >  >> RDS >> Oracle

Извикване на pl/sql функция в java?

Java предоставя CallableStatements за такива цели .

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);

ще отпечата същото, както правите в pl/sql. Съгласно документи Connection#prepareCall() ,

Създава обект CallableStatement за извикване на съхранени процедури на база данни. Обектът CallableStatement предоставя методи за настройка на неговите IN и OUT параметри и методи за изпълнение на извикването към съхранена процедура.

Можете също да предавате параметри за функцията. например ,

conn.prepareCall("{? = CALL total_cancellations(?)}");
cstmt.setInt(2, value);

ще предаде стойностите на функцията като входен параметър.

Надявам се това да помогне!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да преобразите JSON форматираните резултати от заявка в SQLcl (Oracle)

  2. Oracle DBA ментор

  3. Игнорирайте параметъра за период от време в клаузата where, когато параметърът не е въведен

  4. Как мога да използвам регулярен израз за разделяне на низ, като използвам низ като разделител?

  5. Как се изчислява коефициентът на клъстериране на Oracle Index