आज हम Oracle डेटाबेस में VARRAY बनाने का तरीका सीखने के लिए कुछ व्यावहारिक प्रदर्शन करने जा रहे हैं, इसलिए VARRAYs पर सभी आवश्यक सिद्धांतों के लिए अंतिम ट्यूटोरियल पर जाने के लिए स्वतंत्र महसूस करें। हमेशा की तरह मैं उदाहरण को यथासंभव सरल रखने की कोशिश करूंगा। इसलिए, यदि आप प्रोग्रामिंग में नए हैं, तो चिंता न करें, मैं आपको समझ गया!
पहले हमने PL/SQL VARRAYs के परिचय में चर्चा की थी कि नेस्टेड टेबल VARRAYs की तरह बनाया जा सकता है
- पीएल/एसक्यूएल ब्लॉक के सदस्य के रूप में और
- डेटाबेस ऑब्जेक्ट के रूप में।
आज हम सीखेंगे कि कैसे VARRAYs को PL/SQL ब्लॉक के सदस्य के रूप में बनाया जाए और बाकी को भविष्य के ट्यूटोरियल के लिए छोड़ दें।
चरण 1:पीएल/एसक्यूएल ब्लॉक के अंदर एक सरणी परिभाषित करें
आप केवल पीएल/एसक्यूएल ब्लॉक के डिक्लेरेशन सेक्शन के अंदर एक वेरिए को परिभाषित कर सकते हैं।
सर्वरआउट को चालू करें; DECLARE TYPE inBlock_vry IS VARRAY (5) NUMBER;
उपरोक्त कोड में हमने एक VARRAY बनाया और इसे inBlock_vry नाम दिया। यह सरणी संख्या डेटाटाइप के 5 तत्वों को धारण करने में सक्षम है।
चरण 2:वेरिए को इनिशियलाइज़ करें
संग्रह चर का उपयोग करके एक चर का प्रारंभ आसानी से किया जा सकता है। VARRAY को इनिशियलाइज़ करने के लिए हम पहले एक कलेक्शन वेरिएबल को परिभाषित करेंगे और फिर इसे इनिशियलाइज़ करने के लिए इस्तेमाल करेंगे।
vry_obj inBlock_vry :=inBlock_vry();
उपरोक्त कोड में हमने vry_obj नाम के साथ एक संग्रह चर बनाया और इसका उपयोग varray inBlock_vry को प्रारंभ करने के लिए किया।
जानकारी:
कुछ पुस्तकें संग्रह चर को संग्रह वस्तु के रूप में संदर्भित करती हैं, इसलिए कृपया भ्रमित न हों क्योंकि दोनों समान हैं .
चरण 3:VARRAY में डेटा कैसे सम्मिलित करें
डेटा को वर्रे में सम्मिलित करना अन्य प्रोग्रामिंग भाषा की सरणी में डेटा सम्मिलित करने के समान है। आप इंडेक्स नंबर का उपयोग करके या तो सीधे वेरे के प्रत्येक सेल में डेटा सम्मिलित कर सकते हैं या आप वेरे को पॉप्युलेट करने के लिए LOOP का उपयोग कर सकते हैं।
सेल की अनुक्रमणिका का उपयोग करके VARRAY में डेटा कैसे सम्मिलित करें
जैसा कि हम जानते हैं कि सेल पीएल/एसक्यूएल संग्रह की संरचना में एक सेल होता है जिसमें एक सबस्क्रिप्ट होता है जिसे इंडेक्स कहा जाता है। हम इस इंडेक्स का उपयोग डेटा को वेरे में डालने के लिए कर सकते हैं।
BEGIN vry_obj.EXTEND(5); vry_obj(1):=10*2; DBMS_OUTPUT.PUT_LINE(vry_obj(1)); अंत; // पूर्व>निष्पादन अनुभाग -1
उपरोक्त कोड में हमने PL/SQL ब्लॉक का एक्ज़ीक्यूशन सेक्शन लिखा है। इसमें 3 निष्पादन योग्य कथन होते हैं। ये तीन कथन हैं -
पंक्ति 6:कथन 1
पहला कथन एक EXTEND प्रक्रिया कॉल है। इस स्टेटमेंट में हम EXTEND प्रक्रिया का उपयोग करके VARRAY के प्रत्येक सेल को मेमोरी आवंटित कर रहे हैं।
पंक्ति 7:कथन 2
दूसरे स्टेटमेंट में हम एक संख्यात्मक मान (अंकगणितीय गुणन अभिव्यक्ति से प्राप्त मान) को वेरे के पहले सेल (इंडेक्स नंबर 1 के साथ सेल) में निर्दिष्ट कर रहे हैं।
जानकारी:
PL/SQL संग्रह में सेल की VARRAY अनुक्रमणिका संख्या 1 से शुरू होती है जबकि सरणी में कक्षों की अनुक्रमणिका संख्या 0 से प्रारंभ होती है।पंक्ति 8:कथन 3
तीसरा स्टेटमेंट एक आउटपुट स्टेटमेंट होता है, जहां हम वेल्यू को प्रदर्शित कर रहे होते हैं जिसे हमने VARRY के 1 सेल में वापस यूजर को स्टोर किया था।
इस प्रकार आप वैरे के अलग-अलग सेल में संग्रहीत मूल्य को स्टोर और प्रदर्शित कर सकते हैं। यह प्रक्रिया केवल तभी अच्छी होती है जब आपके पास एक छोटी सी सरणी हो। अन्यथा यह कारगर तरीका नहीं है। लूप का उपयोग करके डेटा को वर्रे में सम्मिलित करने का दूसरा तरीका है।
अनुशंसित पठन:PL/SQL लूप का परिचय
PL/SQL लूप का उपयोग करके VARRAY में डेटा कैसे सम्मिलित करें
किसी संग्रह के डेटा से निपटने का सबसे आम तरीका लूप्स का उपयोग करना है। अधिकांश प्रोग्रामर किसी भी प्रकार की सरणी के डेटा के माध्यम से चक्र करने के लिए लूप्स का उपयोग करने के लिए उपयोग किए जाते हैं क्योंकि यह आसान है, कम समय लगता है और कोड की कम लाइन होती है जो आपके कोड को साफ रखती है और इसे पढ़ने में आसान बनाती है। संक्षेप में यह आसान और कुशल है।
I IN 1 के लिए BEGIN .. vry_obj.LIMIT LOOP vry_obj.EXTEND; vry_obj (i):=10*i; DBMS_OUTPUT.PUT_LINE (vry_obj (i)); अंत लूप; अंत; // पूर्व>निष्पादन अनुभाग -2
मैंने उपरोक्त कोड को मेरे यूट्यूब चैनल पर वीडियो ट्यूटोरियल में विस्तार से समझाया है जिसे आप यहां देख सकते हैं।
फिर भी भ्रम को कम करने के लिए मैं आपको यहाँ उपरोक्त निष्पादन अनुभाग (निष्पादन अनुभाग - 2) में उपयोग किए जाने वाले दो मुख्य कार्यों के बारे में बताऊंगा जो हैं - सीमा और विस्तार।
ऊपर दिखाए गए कोड की कार्यप्रणाली को समझने के लिए लूप के लिए PL/SQL की समझ की आवश्यकता होती है। खुशी की बात है कि मैंने फॉर-लूप पर एक विस्तृत ट्यूटोरियल किया है, जिसे आप यहां पढ़ सकते हैं।
सीमा (पंक्ति 6): सीमा एक संग्रह विधि है जो VARRAY में अनुमत अधिकतम तत्वों की संख्या लौटाती है। हमारे मामले में VARRAY में अनुमत तत्वों की अधिकतम संख्या 5 (पंक्ति 3) है जो बदले में यहां फॉर-लूप की ऊपरी सीमा बन जाती है।
विस्तार करें (पंक्ति 8): एक्सटेंड एक प्रक्रिया है जिसका उपयोग मेमोरी को आवंटित करने के लिए किया जाता है और एक तत्व को VARRAY में जोड़ता है। यदि तर्क के बिना उपयोग किया जाता है (निष्पादन धारा -2 पंक्ति 8) यह एकल शून्य तत्व जोड़ता है और यदि तर्क के साथ प्रयोग किया जाता है EXTEND (n) (निष्पादन खंड -1 पंक्ति 6) तो यह संग्रह में n संख्या जोड़ता है। जहां n वह पूर्णांक है जिसे आपने EXTEND प्रक्रिया के तर्क के रूप में दिया है।
ओरेकल डेटाबेस में पीएल/एसक्यूएल ब्लॉक के सदस्य के रूप में संग्रह VARRAY कैसे बनाएं, इस पर पीएल/एसक्यूएल ट्यूटोरियल है। कृपया इस ब्लॉग को लाइक करना न भूलें और साथ ही इसे अपने दोस्तों के साथ शेयर करें और मेरे चैनल को सब्सक्राइब करें क्योंकि ऐसे कई ट्यूटोरियल अभी आने बाकी हैं। धन्यवाद और आपका दिन शुभ हो!