Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment appeler la procédure de retour Oracle CURSOR en Java

De la même manière 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);

Ou si vous préférez, pour être encore plus similaire :

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

Vous avez essayé de l'appeler comme une procédure avec deux paramètres, plutôt qu'une fonction avec un; vous ne pouvez pas modifier arbitrairement cela dans votre appel.

Vous pouvez récupérer le curseur avec :

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

... puis traitez-le comme n'importe quel autre ensemble de résultats.