Код: Выделить всё
try (PreparedStatement ps = dbConnection.prepareStatement(sqlQueryString)) {
try (ResultSet queryResult = ps.executeQuery()) {
while (queryResult.next()) {
// do something with queryResult
}
}
}
Код: Выделить всё
create or replace FUNCTION MY_FUNCTION
(
IN_PARAMETERS...
)
RETURN OUT_TABLE_TYPE IS
RESULT_ROWS OUT_TABLE_TYPE;
BEGIN
SELECT
BULK COLLECT INTO RESULT_ROWS
FROM SOME_TABLE
WHERE
RETURN RESULT_ROWS;
END MY_FUNCTION;
Код: Выделить всё
String dbCall = "{? = call MY_FUNCTION(?, ...)}
try (CallableStatement functionCall = dbConnection.prepareCall(dbCall)) {
functionCall.registerOutParameter(1, Types.ARRAY, "SOME_TABLE");
// register input parameter values:
functionCall.setInt(2, value1);
functionCall.set... // more input
functionCall.executeUpdate();
// now what??? I tried something like this:
Array test = functionCall.getArray(1);
while (test.getResultSet().next()) {
// test contains data, but I don't know how to process it.
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... on-in-java
Мобильная версия