sql >> Base de Datos >  >> RDS >> Oracle

Cómo llamar al procedimiento de retorno Oracle CURSOR en Java

De la misma manera que 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);

O si lo prefieres, para ser aún más parecido:

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

Intentaste llamarlo como un procedimiento con dos parámetros, en lugar de una función con uno; no puede cambiar eso arbitrariamente en su llamada.

Puede recuperar el cursor con:

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

... y luego trátelo como cualquier otro conjunto de resultados.