SQLのストアドプロシージャのようなJDBCを使用してJavaでタスクを実装しようとしています。 SQLでは、カーソルを書くときに、まずselectクエリを実行してから、いくつかのアクションを実行するレコードを取得します。Javaで結果セットをトラバースしながらいくつかのクエリを実行できますか?
おそらく私は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.....
.
.
.
..
}
は30件のレコードをcontansが、私はそれを実行したときに、私の中(res.next())一度だけ実行されます。 (ループのみのSystem.out.println文が含まれていながら)
しかし、その代わりに、クエリの私はちょうど(
sql="select * from tbl_name";
res=stmt.executeQuery(sql);
while(res.next())
{
S.O.P.("fields : "+res.getString(0));
}
...それはそれは正常に動作している をフェッチしているかどうかを確認するためにフィールドを表示しよう私は、結果セットがトラバースしているときに、クエリの間にクエリがあると実行されると同時にループが実行され、クエリの実行が終了してからしばらくしてから、reslutsetのループも終了し、一度実行すると分かりません)。
なぜですか私には起こっていない。私が間違っていることは何ですか?
私は以前この種の仕事をしていましたが、それは問題ありませんでした。今私はこの種の問題を抱えています。どうして?私はそれぞれのことを何度もチェックしていますが、得られません。 –