दुर्भाग्य से, एक क्वेरी द्वारा लौटाई गई पंक्तियों की सीमा को प्रतिबंधित करने के तरीके एक DBMS से दूसरे में भिन्न होते हैं:Oracle ROWNUM का उपयोग करता है (देखें ocdecio का उत्तर), लेकिन ROWNUM SQL सर्वर में काम नहीं करेगा।
शायद आप इन अंतरों को एक फ़ंक्शन के साथ समाहित कर सकते हैं जो किसी दिए गए SQL कथन और पहली और अंतिम पंक्ति संख्या लेता है और लक्ष्य डीबीएमएस के लिए उपयुक्त पेजिनैट एसक्यूएल उत्पन्न करता है - यानी कुछ ऐसा:
sql = paginated ('select empno, ename from emp where job = ?', 101, 150)
जो लौटेगा
'select * from (select v.*, ROWNUM rn from ('
+ theSql
+ ') v where rownum < 150) where rn >= 101'
Oracle के लिए और SQL सर्वर के लिए कुछ और।
हालांकि, ध्यान दें कि Oracle समाधान उन परिणामों में एक नया कॉलम RN जोड़ रहा है जिनसे आपको निपटने की आवश्यकता होगी।