sql >> Databasteknik >  >> RDS >> Oracle

Hur man anropar Oracle CURSOR returproceduren i java

Ungefär på samma sätt 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 om du föredrar att vara ännu mer lika:

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

Du försökte kalla det som en procedur med två parametrar, snarare än en funktion med en; du kan inte godtyckligt ändra det i ditt samtal.

Du kan få tillbaka markören med:

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

... och sedan behandla den som vilken annan resultatuppsättning som helst.




  1. Hur man visar en dag och ett datum i tidsstämpeldata (PHP MYSQL)

  2. Cakephp - innehålla (innehållbart beteende) hämtar för mycket

  3. Att passera tabellen som en parameter

  4. Hur får man resultat från nodejs med mysql-paketet?