पेजिंग करने का सबसे प्राकृतिक और कारगर तरीका LIMIT/OFFSET (साइबेस दुनिया में शीर्ष) का उपयोग कर रहा है। एक डीबींडेंटेंटेंट तरीके से यह जानना होगा कि यह कौन सा इंजन चल रहा है और उचित SQL निर्माण लागू करें।
कम से कम, मैंने इसे डीबी स्वतंत्र पुस्तकालयों के कोड में देखा है। एक बार जब आप विशिष्ट क्वेरी के साथ इंजन से डेटा प्राप्त कर लेते हैं तो आप पेजिंग तर्क को दूर कर सकते हैं।
यदि आप वास्तव में एक एकल, एक एसक्यूएल वाक्य समाधान की तलाश में हैं, तो क्या आप दिमाग में क्या दिखा सकते हैं? अस्थायी तालिका समाधान के लिए एसक्यूएल की तरह। इससे आपको अधिक प्रासंगिक सुझाव मिलेंगे।
संपादित करें:
मैं देखना चाहता है कि तुम क्या सोच रहे थे क्योंकि मैं अस्थायी तालिकाओं के साथ यह करने के लिए एक तरह से नहीं देख सकता था और एक इंजन विशिष्ट निर्माण का उपयोग नहीं करना चाहता था। आपने उदाहरण में विशिष्ट संरचनाओं का उपयोग किया था। मुझे अभी भी डेटाबेस में पेजिंग को लागू करने के लिए एक तरीका नहीं दिख रहा है (कार्यान्वित) मानक एसक्यूएल के साथ। आप पूरी तालिका को मानक एसक्यूएल और एप्लिकेशन में पेज में ला सकते हैं, लेकिन यह स्पष्ट रूप से बेवकूफ है।
तो सवाल अब और अधिक होगा "क्या LIMIT/OFFSET या समकक्ष का उपयोग किए बिना पेजिंग को लागू करने का कोई तरीका है?" और मुझे लगता है कि जवाब "संवेदना, नहीं।" आप कर्सर का उपयोग करने का प्रयास कर सकते हैं लेकिन आप वहां डेटाबेस विशिष्ट वाक्यों/व्यवहार का भी शिकार करेंगे।
एक वैको (बेवकूफ पढ़ा गया विचार) जो कि मेरे पास हुआ है, तालिका में एक पृष्ठ कॉलम जोड़ना होगा, टेबल टेस्ट टेस्ट (आईडी int, नाम वर्कर, फोन वर्कर, पृष्ठ int) कहें और फिर आप पेज प्राप्त कर सकते हैं 1 तालिका से चयन * के साथ जहां पृष्ठ = 1. लेकिन इसका मतलब है कि कॉलम को बनाए रखने के लिए कोड जोड़ना है, जिसे फिर से पूरे डेटाबेस को लाने या डेटाबेस विशिष्ट संरचनाओं का उपयोग करके किया जा सकता है। इसके अलावा प्रत्येक संभावित आदेश और कई अन्य त्रुटियों के लिए एक अलग कॉलम जोड़ने के अलावा।
मैं सबूत प्रदान नहीं कर सकता, लेकिन मुझे सच में लगता है कि आप इसे आसानी से नहीं कर सकते हैं।
स्रोत
2008-09-15 06:36:59
हाँ प्राप्त करने के लिए ऊपर दिए गए मेरे संपादन को देखें, मैंने अलग-अलग समाधानों का प्रयास किया, लेकिन ऐसा लगता है कि कम या ज्यादा पोर्टेबल संस्करण बनाना असंभव प्रतीत होता है। – aku