需要java程序来批量处理2000条记录

时间:2015-06-20 12:49:51

标签: oracle

实际上,我有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条记录并传递给循环..

需要上面的循环系统......

2 个答案:

答案 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);

  }




 }
}