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.