स्पष्ट कर्सर और निहित कर्सर के बीच अंतर

स्पष्ट कर्सर और निहित कर्सर के बीच अंतर
स्पष्ट कर्सर और निहित कर्सर के बीच अंतर

वीडियो: स्पष्ट कर्सर और निहित कर्सर के बीच अंतर

वीडियो: स्पष्ट कर्सर और निहित कर्सर के बीच अंतर
वीडियो: 3 दिन - कैसा भी कमजोरी हो, थकान 3 बार मे खत्म, 65 साल मे भी 25 की चुस्ती, फुर्ती, ताकत देगा 2024, जुलाई
Anonim

स्पष्ट कर्सर बनाम लागू कर्सर

जब डेटाबेस की बात आती है, तो कर्सर एक कंट्रोल स्ट्रक्चर होता है जो डेटाबेस में रिकॉर्ड्स को ट्रैवर्स करने की अनुमति देता है। एक कर्सर SQL चयन कथन को एक नाम निर्दिष्ट करने के लिए एक तंत्र प्रदान करता है और फिर इसका उपयोग उस SQL कथन के भीतर जानकारी में हेरफेर करने के लिए किया जा सकता है। जब कोई स्पष्ट रूप से परिभाषित कर्सर नहीं होता है, तो पीएल/एसक्यूएल में हर बार चयन कथन जारी होने पर अंतर्निहित कर्सर स्वचालित रूप से बनाए और उपयोग किए जाते हैं। स्पष्ट कर्सर, जैसा कि नाम से पता चलता है, डेवलपर द्वारा स्पष्ट रूप से परिभाषित किया गया है। पीएल/एसक्यूएल में एक स्पष्ट कर्सर वास्तव में कुंजी शब्द कर्सर का उपयोग करके परिभाषित एक नामित क्वेरी है।

अंतर्निहित कर्सर क्या है?

ऑरेकल द्वारा हर बार एक सेलेक्ट स्टेटमेंट जारी किए जाने पर इंप्लिक्ट कर्सर अपने आप बन जाते हैं और उपयोग किए जाते हैं। यदि एक निहित कर्सर का उपयोग किया जाता है, तो डेटाबेस प्रबंधन प्रणाली (DBMS) स्वचालित रूप से ओपन, फ़ेच और क्लोज़ ऑपरेशन करेगी। लागू कर्सर का उपयोग केवल SQL कथनों के साथ किया जाना चाहिए जो एक पंक्ति लौटाते हैं। यदि SQL कथन एक से अधिक पंक्तियाँ लौटाता है, तो एक निहित कर्सर का उपयोग करने से एक त्रुटि उत्पन्न होगी। एक निहित कर्सर स्वचालित रूप से प्रत्येक डेटा मैनिपुलेशन लैंग्वेज (डीएमएल) स्टेटमेंट से जुड़ा होता है, अर्थात् INSERT, UPDATE और DELETE स्टेटमेंट। साथ ही, कथनों में चयन को संसाधित करने के लिए एक अंतर्निहित कर्सर का उपयोग किया जाता है। अंतर्निहित कर्सर का उपयोग करके डेटा प्राप्त करते समय NO_DATA_FOUND अपवाद तब उठाया जा सकता है जब SQL कथन कोई डेटा नहीं देता है। इसके अलावा, अंतर्निहित कर्सर TOO_MANY_ROWS अपवाद बढ़ा सकते हैं जब SQL कथन एक से अधिक पंक्तियाँ लौटाता है।

स्पष्ट कर्सर क्या है?

जैसा कि पहले उल्लेख किया गया है, स्पष्ट कर्सर एक नाम का उपयोग करके परिभाषित प्रश्न हैं।एक स्पष्ट कर्सर को रिकॉर्ड्स के एक सेट के लिए एक पॉइंटर के रूप में माना जा सकता है और पॉइंटर को रिकॉर्ड्स के सेट के भीतर आगे ले जाया जा सकता है। स्पष्ट कर्सर उपयोगकर्ता को डेटा खोलने, बंद करने और लाने पर पूर्ण नियंत्रण प्रदान करते हैं। साथ ही, एक स्पष्ट कर्सर का उपयोग करके कई पंक्तियों को लाया जा सकता है। स्पष्ट कर्सर भी किसी भी फ़ंक्शन या प्रक्रिया की तरह ही पैरामीटर ले सकते हैं ताकि कर्सर में चर को हर बार निष्पादित होने पर बदला जा सके। इसके अलावा, स्पष्ट कर्सर आपको पीएल/एसक्यूएल रिकॉर्ड वैरिएबल में पूरी पंक्ति लाने की अनुमति देते हैं। एक स्पष्ट कर्सर का उपयोग करते समय, पहले इसे एक नाम का उपयोग करके घोषित करने की आवश्यकता होती है। कर्सर को दिए गए नाम का उपयोग करके कर्सर विशेषताओं तक पहुँचा जा सकता है। घोषित करने के बाद, पहले कर्सर को खोलना होगा। इसके बाद मंगवाना शुरू किया जा सकता है। यदि कई पंक्तियों को लाने की आवश्यकता है, तो लूप के अंदर फ़ेचिंग ऑपरेशन करने की आवश्यकता है। अंत में, कर्सर को बंद करना होगा।

स्पष्ट कर्सर और निहित कर्सर के बीच अंतर

अंतर्निहित कर्सर और स्पष्ट कर्सर के बीच मुख्य अंतर यह है कि एक स्पष्ट कर्सर को एक नाम प्रदान करके स्पष्ट रूप से परिभाषित करने की आवश्यकता होती है जबकि जब आप एक चयन कथन जारी करते हैं तो निहित कर्सर स्वचालित रूप से बन जाते हैं।इसके अलावा, स्पष्ट कर्सर का उपयोग करके कई पंक्तियों को प्राप्त किया जा सकता है जबकि निहित कर्सर केवल एक पंक्ति प्राप्त कर सकते हैं। इसके अलावा NO_DATA_FOUND और TOO_MANY_ROWS अपवाद स्पष्ट कर्सर का उपयोग करते समय नहीं उठाए जाते हैं, जैसा कि निहित कर्सर के विपरीत है। संक्षेप में, निहित कर्सर डेटा त्रुटियों के प्रति अधिक संवेदनशील होते हैं और स्पष्ट कर्सर की तुलना में कम प्रोग्रामेटिक नियंत्रण प्रदान करते हैं। साथ ही, स्पष्ट कर्सर की तुलना में निहित कर्सर को कम कुशल माना जाता है।

सिफारिश की: