Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara memanggil prosedur pengembalian Oracle CURSOR di java

Sama seperti PHP:

String dbCall = "{ ? = call pa_internal_admin.fn_search_level_1(?) }";
proc = dbConn.connection().prepareCall( dbCall );
proc.registerOutParameter(1, OracleTypes.CURSOR);
proc.setString(2, searchText);

Atau jika Anda lebih suka, agar lebih mirip:

String dbCall = "BEGIN ? := pa_internal_admin.fn_search_level_1(?); END;";

Anda mencoba menyebutnya sebagai prosedur dengan dua parameter, bukan fungsi dengan satu; Anda tidak dapat mengubahnya secara sewenang-wenang dalam panggilan Anda.

Anda bisa mendapatkan kembali kursor dengan:

OracleResultSet rSet = (OracleResultSet) proc.getCursor(1);

... dan kemudian memperlakukannya seperti kumpulan hasil lainnya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dukungan subsonik untuk Oracle ODP.NET?

  2. Menggunakan `SELECT` untuk memanggil fungsi

  3. SQL Dinamis - Periksa sintaks dan semantik

  4. qt + masalah koneksi oracle

  5. Tidak dapat menjalankan IntelliJ IDEA CE 12 dengan Ubuntu Oracle Java 8