Tyvärr varierar metoderna för att begränsa radintervallet som returneras av en fråga från ett DBMS till ett annat:Oracle använder ROWNUM (se ocdecios svar), men ROWNUM fungerar inte i SQL Server.
Kanske kan du kapsla in dessa skillnader med en funktion som tar en given SQL-sats och första och sista radnummer och genererar lämplig paginerad SQL för mål-DBMS - det vill säga något i stil med:
sql = paginated ('select empno, ename from emp where job = ?', 101, 150)
som skulle komma tillbaka
'select * from (select v.*, ROWNUM rn from ('
+ theSql
+ ') v where rownum < 150) where rn >= 101'
för Oracle och något annat för SQL Server.
Observera dock att Oracle-lösningen lägger till en ny kolumn RN till resultaten som du måste hantera.