Desværre varierer metoderne til at begrænse rækkevidden af rækker, der returneres af en forespørgsel, fra et DBMS til et andet:Oracle bruger ROWNUM (se ocdecios svar), men ROWNUM fungerer ikke i SQL Server.
Måske kan du indkapsle disse forskelle med en funktion, der tager en given SQL-sætning og første og sidste rækkenumre og genererer den passende paginerede SQL for mål-DBMS - dvs. noget som:
sql = paginated ('select empno, ename from emp where job = ?', 101, 150)
som ville vende tilbage
'select * from (select v.*, ROWNUM rn from ('
+ theSql
+ ') v where rownum < 150) where rn >= 101'
til Oracle og noget andet til SQL Server.
Bemærk dog, at Oracle-løsningen tilføjer en ny kolonne RN til de resultater, du skal håndtere.