powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Получение множеста RecordSet
4 сообщений из 4, страница 1 из 1
Получение множеста RecordSet
    #33602118
Loki1828
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток Алл!!!

Имеется процедура:
CREATE PROCEDURE simple.simpleTest4
AS
SELECT * from Tab3
SELECT * from Test1
SELECT * from Tab3
SELECT * from Test2
SELECT * from Tab2
SELECT * from Tab1

И обработка в java:
stmt = conn.prepareCall("exec simple.simpleTest4");
stmt.execute();

ResultSet rs = null;

do {
rs = stmt.getResultSet();
++rc;
if (rs != null) {
while (rs.next()) {
.......
}

rs.close();
rs = null;

}


} while (stmt.getMoreResults());

Все работает нормально

Но если процедура примет вид:
CREATE PROCEDURE simple.simpleTest4
AS
select * into #tmp from Test1
select * into #tmp2 from Test2

SELECT * from Tab3
SELECT * from Test1

SELECT * from Test1
SELECT * from #tmp

SELECT * from #tmp2
SELECT * from Test2
SELECT * from Tab2
SELECT * from Tab1

drop table #tmp
drop table #tmp2


То не работает:
Показывает что существует один набор записей с нулевым количеством строк

При этом stmt.getUpdateCount() = 10 (до этого -1)

Меняя код на следующий:
do {
rs = stmt.getResultSet();
if (stmt.getUpdateCount() != -1) continue;

if (rs != null) {
while (rs.next()) {
........
}

rs.close();
rs = null;

}

} while (stmt.getMoreResults() || stmt.getUpdateCount() != -1);

Вроде все обрабатывается нормально,
вот вопрос так принято делать или как?
...
Рейтинг: 0 / 0
Получение множеста RecordSet
    #33605501
Antei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полагаю что stmt.getUpdateCount() - есть результат
Код: plaintext
1.
2.
...
stmt.getUpdateCount() =  10 
...

вообще по мне лучше использовать вариант возврата одного резалтсета в зависимости от парамаметра процедуры. Надежней будет.
...
Рейтинг: 0 / 0
Получение множеста RecordSet
    #33605693
Antei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс... AnteiПолагаю что stmt.getUpdateCount() - есть результат

Код: plaintext
1.
2.
...
select * into #tmp2 from Test2
...
...
Рейтинг: 0 / 0
Получение множеста RecordSet
    #33606971
Loki1828
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antei
вообще по мне лучше использовать вариант возврата одного резалтсета в зависимости от парамаметра процедуры. Надежней будет.

Можно подумать меня спрашивают, что я хочу :(.
Сделали процедуру, а я забирай результат как хошь, а переделывать они её не будут, она у них видите ли стандартная.

Ну раз никаких нареканий данный код не вызвал, будет использовать его. Пока вроде работает и на других процедурах.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Получение множеста RecordSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]