sql >> Database teknologi >  >> RDS >> Oracle

Sådan kalder du Oracle CURSOR returprocedure i java

På samme måde som 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);

Eller hvis du foretrækker det, at være endnu mere ens:

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

Du forsøgte at kalde det som en procedure med to parametre, snarere end en funktion med én; du kan ikke ændre det vilkårligt i dit opkald.

Du kan få markøren tilbage med:

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

... og så behandle det som ethvert andet resultatsæt.




  1. En guide til Pgpool til PostgreSQL:Anden del

  2. Brug af Delphi databevidste komponenter - fordele og ulemper

  3. 5 SQL-syntaks og forespørgselsprincipper for bedre databaseovervågning

  4. DBMS_METADATA og andre pakker er ugyldige