sql >> Database >  >> RDS >> Oracle

Hoe de Oracle CURSOR-retourprocedure in java aan te roepen

Op dezelfde manier als 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);

Of als je wilt, om nog meer op elkaar te lijken:

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

Je hebt geprobeerd het aan te roepen als een procedure met twee parameters, in plaats van een functie met één; je kunt dat niet willekeurig veranderen in je gesprek.

U kunt de cursor terugkrijgen met:

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

... en behandel het dan als elke andere resultaatset.




  1. Controleren op een leeg veld met MySQL

  2. Retourneer het einde van de maand in SQLite

  3. Voert de MySQL IN-component de subquery meerdere keren uit?

  4. Auto-increment wordt niet gereset in MySQL