Oracle डेटाबेस में PL/SQL Ref Cursors क्या है?
जब प्रदर्शन की बात आती है, तो ओरेकल में पीएल/एसक्यूएल रेफ कर्सर हमेशा स्थिर कर्सर से बेहतर साबित होते हैं। एक एकल पीएल/एसक्यूएल ब्लॉक में एकाधिक चयन कथनों के साथ जुड़ने के लिए एकल रेफरी कर्सर की क्षमता के कारण। इसके अलावा, यह अलग स्पष्ट कर्सर लिखने की आवश्यकता को कम करता है। इसके अलावा यह उन्हें पीएल/एसक्यूएल भाषा की अत्यधिक कुशल, लचीली और मजबूत विशेषता बनाता है। तो आइए PL/SQL में Ref Cursors को एक्सप्लोर करें और इसके बारे में और जानें।
Oracle डेटाबेस में PL/SQL Ref Cursors क्या हैं?
रेफ कर्सर एक कर्सर के संदर्भ का संक्षिप्त रूप है। यह एक PL/SQL डेटाटाइप है जिसके उपयोग से आप एक विशेष प्रकार के वेरिएबल को Cursor Variable घोषित कर सकते हैं।
क्या Cursor Variable और Ref Cursor एक दूसरे से जुड़े हुए हैं?
यह एक बहुत ही अच्छा सवाल है। मैंने कई पुस्तकों में देखा है कि इन दोनों नामों का परस्पर प्रयोग किया जाता है। हालांकि ये दोनों दो अलग-अलग अभी तक परस्पर निर्भर विषय हैं।
एक ओर कर्सर चर एक सूचक की तरह है जो SGA में विभिन्न संदर्भ क्षेत्र को संदर्भित करता है। जबकि रेफ कर्सर एक डेटाटाइप है जिसमें कर्सर मान होता है।
फिर, Cursor Variable और Ref Cursors एक दूसरे पर कैसे निर्भर हैं?
जैसा कि ऊपर बताया गया है, Cursor Variables को Ref Cursors की मदद से घोषित किया जाता है। नतीजतन, हम कह सकते हैं कि Oracle डेटाबेस में कर्सर चर Ref Cursors के रूप में मौजूद हैं।
कर्सर चर की परिभाषा
उपरोक्त सभी सूचनाओं का उपयोग करके हम कर्सर चर को इस प्रकार परिभाषित कर सकते हैं:Ref Cursor Type के एक वेरिएबल को Cursor Variable कहा जाता है।
रेफ कर्सर घोषित करने के लिए सिंटैक्स क्या है?
यहाँ Oracle डेटाबेस में Ref कर्सर घोषित करने के लिए सामान्यीकृत सिंटैक्स है:
DECLARE TYPE [cursor_variable_name] IS REF CURSOR [RETURN (return_type)];
आप अपने आवेदन में किस प्रकार के रेफ कर्सर का उपयोग करना चाहते हैं, इसके आधार पर सिंटैक्स को संशोधित और उपयोग किया जा सकता है। यह कहने के बाद कि आइए Oracle डेटाबेस में उपलब्ध Ref Cursors के प्रकारों को देखें।
हमारे पास कितने प्रकार के PL/SQL रेफ कर्सर हैं?
PL/SQL में दो प्रकार के Ref Cursors होते हैं। ये हैं:
- मजबूत रेफरी कर्सर और
- कमजोर रेफ कर्सर
Oracle डेटाबेस में सशक्त Ref Cursor क्या है?
कोई भी Ref Cursor जिसका एक निश्चित रिटर्न प्रकार होता है, उसे एक मजबूत Ref Cursor कहा जाता है।
इसके अलावा ऐसे रेफ कर्सर का उपयोग केवल कुछ सेलेक्ट स्टेटमेंट के साथ किया जा सकता है। इसके अलावा, सेलेक्ट स्टेटमेंट के डेटाटाइप का परिणाम उसी के साथ मेल खाना चाहिए जो मजबूत कर्सर की घोषणा के दौरान तय किया गया था।
PL/SQL में सशक्त Ref Cursors का सिंटैक्स
यहाँ मजबूत रेफरी कर्सर का सिंटैक्स है।
DECLARE TYPE cursor_variable_name IS REF CURSOR RETURN (return type);
रेफ कर्सर घोषित करने में रिटर्न क्लॉज बहुत महत्वपूर्ण भूमिका निभाता है। यह इसके दायरे को सीमित करता है। और आपके Ref Cursor को केवल उन SELECT कथनों तक सीमित कर देता है जो परिणाम लौटाते हैं जिसका डेटाटाइप आपके द्वारा रिटर्न क्लॉज में निर्दिष्ट के साथ मेल खाता है।
साथ ही रेफ कर्सर का रिटर्न प्रकार हमेशा रिकॉर्ड डेटाटाइप का होना चाहिए। यह या तो किसी तालिका की रिकॉर्ड संरचना या उपयोगकर्ता परिभाषित रिकॉर्ड संरचना हो सकती है।
Oracle डेटाबेस में एक कमजोर रेफरी कर्सर क्या है?
मजबूत रेफ कर्सर के विपरीत, कमजोर रेफ कर्सर वे होते हैं जिनके पास कोई रिटर्न प्रकार नहीं होता है। दूसरे शब्दों में, वे रेफरी कर्सर जिनके पास निश्चित रिटर्न प्रकार नहीं है उन्हें कमजोर रेफ कर्सर कहा जाता है।
चूंकि कमजोर रेफ कर्सर के पास कोई निश्चित रिटर्न प्रकार नहीं होता है, इसलिए वे सभी सेलेक्ट स्टेटमेंट के लिए खुले होते हैं। और यह उन्हें PL/SQL में सबसे अधिक उपयोग किए जाने वाले Ref Cursors में से एक बनाता है।
पीएल/एसक्यूएल में कमजोर रेफरी कर्सर का सिंटैक्स
DECLARE TYPE ref_cursor_name IS REF CURSOR;
लापता रिटर्न क्लॉज को छोड़कर सिंटैक्स काफी हद तक मजबूत रेफ कर्सर के समान है।
एक कनाडाई अध्ययन से पता चलता है कि मनुष्य आलसी होने के लिए जैविक रूप से तार-तार होते हैं। इसके अलावा, इन सभी प्रसंस्करण शक्तियों के साथ एक कंप्यूटर होने का क्या मतलब है जब हमें एक रेफ पॉइंटर प्रकार घोषित करने और फिर एक चर बनाने के लिए कड़ी मेहनत करनी पड़ती है।
ठीक है, मेरे प्यारे दोस्तों अगर आप उन लोगों में से हैं जो एक Cursor Variable बनाने की पूरी मेहनत से बचना चाहते हैं तो Oracle PL/SQL आपके लिए एक विकल्प है। यह विकल्प आपके लिए एक अंतर्निहित रूप से निर्मित कर्सर चर के रूप में कार्य करेगा। तो, आइए देखें कि यह क्या है।
Sys_RefCursor
Sys Ref कर्सर एक Oracle है जो कर्सर वेरिएबल में बनाया गया है। यह एक कमजोर रेफ कर्सर घोषित करता है और वह भी रेफ पॉइंटर प्रकार घोषित किए बिना। अधिकतर इसका उपयोग एक सामान्य कर्सर के रूप में किया जाता है जिसे एक संग्रहीत उप कार्यक्रम के तर्क के रूप में पारित किया जा सकता है।
Oracle डेटाबेस में PL/SQL Ref Cursors के परिचय पर इस ट्यूटोरियल के लिए बस इतना ही। आने वाले ट्यूटोरियल्स में बने रहें क्योंकि हम Oracle PL/SQL में Ref Cursor का कुछ व्यावहारिक प्रदर्शन करेंगे।
अधिक विवरण के लिए आप मेरे YouTube चैनल पर इसी विषय पर वीडियो ट्यूटोरियल भी देख सकते हैं।
यहां रुकने के लिए शुक्रिया। आपका दिन शुभ हो!