Я пытаюсь реализовать задачу в Java, используя JDBC, как хранимая процедура в SQL.В SQL, когда мы пишем курсор, сначала мы выполняем запрос выбора, а затем извлекаем записи и выполняем некоторые действия.
Вероятно, я запустил запрос выбора в Hive.
sql="SELECT a,c,b FROM tbl_name";
res=stmt.executeQuery(); -----------> CONTAINS 30 RECORDS
while(res.next())
{
sql="INSERT INTO table .....";
rs1=stmt.executeQuery();
sql="SELECT d,e,f FROM table .....";
rs1=stmt.executeQuery();
like wise many queries are there.....
.
.
.
..
}
Как мойзапрос select содержит 30 записей, но когда я выполняю его, while (res.next ()) выполняется только один раз.
Но вместо запросов я просто пытаюсь отобразить поле, чтобы проверить, выбирает он или нет, тогда этоработает нормально .. (в то время как цикл содержит только операторы System.out.println)
sql="SELECT * FROM tbl_name";
res=stmt.executeQuery(sql);
while(res.next())
{
S.O.P.("fields : "+res.getString(0));
}
(Я думаю, что когда происходит пересмотр набора результатов и если между запросами есть, то запросы получают выполненные, но натот же цикл времени также выполняет get и через некоторое время завершает выполнение запросов, в то время как цикл resultset также завершается, и, следовательно, он выполняется один раз. Я не уверен в этом.)
Почему это происходитЯ не получаю.Что-то я делаю не так?