Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So rufen Sie die Oracle CURSOR-Rückgabeprozedur in Java auf

Ähnlich wie bei 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);

Oder wenn Sie es vorziehen, noch ähnlicher zu sein:

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

Sie haben versucht, es als Prozedur mit zwei Parametern statt als Funktion mit einem Parameter aufzurufen; Sie können das in Ihrem Aufruf nicht beliebig ändern.

Sie können den Cursor zurückholen mit:

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

... und dann wie jede andere Ergebnismenge behandeln.