Почти по същия начин като 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);
Или ако предпочитате, за да си приличате още повече:
String dbCall = "BEGIN ? := pa_internal_admin.fn_search_level_1(?); END;";
Опитахте се да го извикате като процедура с два параметъра, а не като функция с един; не можете произволно да промените това във вашето обаждане.
Можете да върнете курсора обратно с:
OracleResultSet rSet = (OracleResultSet) proc.getCursor(1);
... и след това да го третираме като всеки друг набор от резултати.