实际上,我有6000
个记录,可以在客户端处理。现在同样减少到2000
。
我目前的逻辑是
ArrayList aList =getDatafromTable(); SELECT * FROM TEMP_TABLE WHERE TXD_ID=?
// This brings 6000 records..
for (int i=0;i<aList.size();i++){
//loop runs for 6000 times to connect to vendor system.}
现在,供应商系统仅支持2000
条记录。因此,需要更改上述查询以在2000
批处理中选择3
条记录并传递给循环..
需要上面的循环系统......
答案 0 :(得分:0)
那么最好的办法是使用ROWNUM
限制从数据库返回的结果数量,如下所示,它将返回2K记录而不是6K。
SELECT * FROM TEMP_TABLE WHERE TXD_ID=? AND ROWNUM <= 2000;
答案 1 :(得分:0)
public class batch {
public static void main(String[] args) {
int i = 1;
int n = 505;
int b;
b = n / 3;
int r = b;
//System.out.println("r==="+r);
int t=1;
for (int j = 1; j <= 3; j++) {
System.out.println("t=="+t);
System.out.println("r=="+r);
for (i = t; i <= r; i++) {
//System.out.println("t=="+t);
//System.out.println("r=="+r);
System.out.println(i);
}
t=r+1;
r=r+b;
}
i=i-1;
if(i==n){
System.out.println("Ignore");
}else{
System.out.println("i=="+i);
System.out.println("n=="+n);
}
}
}