Как обрабатывать табличные данные из функции Oracle PL/SQL в JAVA?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как обрабатывать табличные данные из функции Oracle PL/SQL в JAVA?

Сообщение Anonymous »

Я привык работать с ResultSet из ReadedStatement, например

Код: Выделить всё

try (PreparedStatement ps = dbConnection.prepareStatement(sqlQueryString)) {
try (ResultSet queryResult = ps.executeQuery()) {
while (queryResult.next()) {
// do something with queryResult
}
}
}
Теперь я создал функцию PL/SQL в базе данных Oracle, возвращающую таблицу данных:

Код: Выделить всё

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;
Я хотел бы вызвать эту функцию в JAVA и перебрать строки данных, возвращаемых функцией. Вот как далеко я нахожусь:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»