Это должно быть возможно в пределах одного запроса:
INSERT INTO info_alarm (sev, al)
SELECT sev, al FROM pgw_alarm where sev='000';
Это будет чище и быстрее.
!
в while (!rs.next())
, вероятно, просто опечатка, верно?
Редактировать: Чтобы ответить на ваш вопрос, изучите JavaDoc :
По умолчанию только один объект ResultSet на каждый объект Statement можетбыть открытым в то же время.Следовательно, если чтение одного объекта ResultSet чередуется с чтением другого, каждый из них должен быть сгенерирован различными объектами Statement.Все методы выполнения в интерфейсе Statement неявно закрывают текущий объект ResultSet статута, если существует открытый.
Обычно ResultSet
все еще читает из оператора, но вы закрыли его, выполнив другой запрос для того же Statement
.Если вы хотите сделать это таким образом, вам нужно использовать два отдельных утверждения.