Thật không may, các phương pháp để hạn chế phạm vi các hàng được trả về bởi một truy vấn khác nhau giữa các DBMS:Oracle sử dụng ROWNUM (xem câu trả lời của ocdecio), nhưng ROWNUM sẽ không hoạt động trong SQL Server.
Có lẽ bạn có thể đóng gói những khác biệt này bằng một hàm nhận một câu lệnh SQL nhất định và số hàng đầu tiên và cuối cùng và tạo SQL paginatd thích hợp cho DBMS mục tiêu - tức là một cái gì đó như:
sql = paginated ('select empno, ename from emp where job = ?', 101, 150)
cái nào sẽ trả về
'select * from (select v.*, ROWNUM rn from ('
+ theSql
+ ') v where rownum < 150) where rn >= 101'
cho Oracle và một cái gì đó khác cho SQL Server.
Tuy nhiên, lưu ý rằng giải pháp Oracle đang thêm một cột RN mới vào kết quả mà bạn sẽ cần xử lý.