Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como chamar o procedimento de retorno do Oracle CURSOR em java


Da mesma forma que o 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);

Ou se preferir, para ser ainda mais parecido:
String dbCall = "BEGIN ? := pa_internal_admin.fn_search_level_1(?); END;";

Você tentou chamá-lo como um procedimento com dois parâmetros, em vez de uma função com um; você não pode alterar isso arbitrariamente em sua chamada.

Você pode recuperar o cursor com:
OracleResultSet rSet = (OracleResultSet) proc.getCursor(1);

... e tratá-lo como qualquer outro conjunto de resultados.