Friday, January 22, 2021

GETTING DATABASE EXTRACTS 100000 ROWS AT A TIME USING JAVA.

String space = " ";

 public void genSql() {

                        System.out.println("GenSql");

 

                       // int countRows = 1294370;

                         int countRows = 792323;

                        // int countRows = 2471750;

                        int j = 0;

                        int t = 100000;

                        System.out.println(countRows % t);

 

                        for (j = 1; j <= countRows - tj = j + t) {

                            System.out.println("Select *" + space + "from" + space + "product" + space + " OFFSET " + (j - 1)

                                                            + " ROWS FETCH NEXT " + t + " ROWS ONLY");

                                    //System.out.println(countRows - (countRows % t));

                                    //System.out.println("j --->  " + j);

 

                                    if (j == countRows - (countRows % t) - t) {

                                                j = j + 100000;

                                                // breaking the loop

                                                break;

                                    }

 

                                    if (j == (countRows - t) - (countRows % t) + 1) {

                                                j = j + t;

                         System.out.println("Select *" + space + "from" + space + "product"space + " OFFSET " + (j - 1)

                                                                        + " ROWS FETCH NEXT " + countRows % t + " ROWS ONLY");

                                    }

                        }

            }


++++++++++++

And the output is:

Select * from product  OFFSET 0 ROWS FETCH NEXT 100000 ROWS ONLY

Select * from product  OFFSET 100000 ROWS FETCH NEXT 100000 ROWS ONLY

Select * from product  OFFSET 200000 ROWS FETCH NEXT 100000 ROWS ONLY

Select * from product  OFFSET 300000 ROWS FETCH NEXT 100000 ROWS ONLY

Select * from product  OFFSET 400000 ROWS FETCH NEXT 100000 ROWS ONLY

Select * from product  OFFSET 500000 ROWS FETCH NEXT 100000 ROWS ONLY

Select * from product  OFFSET 600000 ROWS FETCH NEXT 100000 ROWS ONLY

Select * from product  OFFSET 700000 ROWS FETCH NEXT 92323 ROWS ONLY

No comments:

COUNTING MILLIONS OF ROWS IN AN ORACLE TABLE USING JAVA

Searched high and low for getting the number of rows in a table in Oracle with millions of rows. And the best solution is what i found below...