Sayangnya, metode untuk membatasi rentang baris yang dikembalikan oleh kueri bervariasi dari satu DBMS ke DBMS lainnya:Oracle menggunakan ROWNUM (lihat jawaban ocdecio), tetapi ROWNUM tidak akan berfungsi di SQL Server.
Mungkin Anda dapat merangkum perbedaan ini dengan fungsi yang mengambil pernyataan SQL tertentu dan nomor baris pertama dan terakhir dan menghasilkan SQL paginatd yang sesuai untuk DBMS target - misalnya:
sql = paginated ('select empno, ename from emp where job = ?', 101, 150)
yang akan kembali
'select * from (select v.*, ROWNUM rn from ('
+ theSql
+ ') v where rownum < 150) where rn >= 101'
untuk Oracle dan sesuatu yang lain untuk SQL Server.
Namun, perhatikan bahwa solusi Oracle menambahkan kolom baru RN ke hasil yang harus Anda tangani.