Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle डेटाबेस में डेटाबेस ऑब्जेक्ट के रूप में VARRAYs कैसे बनाएं?

VARRAY का दायरा जो PL/SQL ब्लॉक सदस्य के रूप में बनाया गया है, उस ब्लॉक तक सीमित है जिसमें इसे बनाया गया है, इसका मतलब है कि हम इस VARRAY को इसके ब्लॉक के बाहर उपयोग नहीं कर सकते हैं या इसका पुन:उपयोग भी नहीं कर सकते हैं और यही इसकी सबसे बड़ी कमी है। तो आगे बढ़ें और यह जानने के लिए पढ़ें कि हम VARRAY के इस नुकसान को कैसे दूर कर सकते हैं।

इस कमी को आसानी से दूर किया जा सकता है यदि हम PL/SQL ब्लॉक के बाहर VARRAY बनाने का तरीका खोज सकते हैं और इसे स्थायी रूप से स्कीमा में संग्रहीत कर सकते हैं। सौभाग्य से हम VARRAY को डेटाबेस ऑब्जेक्ट के रूप में बनाकर दोनों लक्ष्यों को प्राप्त कर सकते हैं। ठीक यही हम इस ट्यूटोरियल में सीखने जा रहे हैं।

इस ट्यूटोरियल में हम सीखेंगे -

  • VARRAY को डेटाबेस ऑब्जेक्ट के रूप में कैसे बनाएं।
  • उस विविधता का उपयोग कैसे करें।
  • VARRAY में डेटा कैसे डालें।
  • वर्रे में (से) डेटा कैसे प्राप्त करें
  • वर्रे के डेटा को कैसे अपडेट करें।

आइए पहले चरण से शुरू करें।

VARRAY को डेटाबेस ऑब्जेक्ट के रूप में कैसे बनाएं?

 सर्वरआउट को चालू करें; प्रकार बनाएं या बदलें dbObj_vry IS VARRAY (5) NUMBER; // पूर्व> 

सफल निष्पादन पर उपरोक्त कोड dbObj_vry नाम के साथ एक VARRAY बनाएगा जिसमें 5 तत्वों की आकार सीमा होगी और उनका डेटाटाइप NUMBER होगा। इस VARRAY का दायरा व्यापक है और इसका उपयोग न केवल PL/SQL ब्लॉक के अंदर बल्कि अन्य स्कीमा ऑब्जेक्ट्स के साथ भी किया जा सकता है।

डेटाबेस ऑब्जेक्ट के रूप में बनाए गए VARRAY का उपयोग कैसे करें?

VARRAY को डेटाबेस ऑब्जेक्ट के रूप में परिभाषित करने का लाभ यह है कि इसे किसी भी प्रोग्राम से संदर्भित किया जा सकता है जिसके पास इसका उपयोग करने की अनुमति है। आप VARRAY का उपयोग टेबल, रिकॉर्ड या यहां तक ​​कि PL/SQL ब्लॉक के साथ भी कर सकते हैं।

आइए उदाहरण करते हैं:

उदाहरण 1. VARRAY का उपयोग करके किसी तालिका के स्तंभ को कैसे परिभाषित करें?

टेबल कैलेंडर बनाएं(day_name VARCHAR2(25), day_date dbObj_vry);/

उपरोक्त कोड में हमने कैलेंडर नाम की एक तालिका बनाई है जिसमें दो कॉलम day_name और day_date हैं। पहला कॉलम VARCHAR2 डेटाटाइप का डेटा रख सकता है जबकि दूसरा कॉलम एक dbObj_vry प्रकार का डेटा रख सकता है जो एक VARRAY है।

जानकारी:किसी तालिका के कॉलम को VARRAY प्रकार के रूप में परिभाषित करने का क्या अर्थ है?
किसी तालिका के कॉलम को VARRAY प्रकार के रूप में परिभाषित करने का अर्थ है कि इसमें 'n' मानों की संख्या हो सकती है। जहाँ 'n' उस वैरिए की आकार सीमा के बराबर है। हमारे मामले में VARRAY की आकार सीमा 5 है, जिसका अर्थ है कि तालिका कैलेंडर के कॉलम 'दिन की तारीख' में 5 मान हो सकते हैं।

VARRAY में डेटा कैसे डालें?

कैलेंडर में डालें (day_name, day_date) VALUES ('रविवार', dbObj_vry (7, 14, 21, 28)); 

यह सम्मिलित DML कथन कैलेंडर तालिका में एक पंक्ति सम्मिलित करेगा। पहले कॉलम 'डे नेम' में डेटा डालना जो varchar2 डेटाटाइप का है, आसान है। आपको बस वांछित डेटा लिखना है और इसे सिंगल कोट्स में संलग्न करना है। लेकिन दूसरे कॉलम 'डे डेट' के साथ भी ऐसा नहीं है जो VARRAY टाइप का है। VARRAY प्रकार के कॉलम में डेटा सम्मिलित करने के लिए आपको सबसे पहले varray का नाम लिखना होगा और डेटा की आपूर्ति करनी होगी।

साथ ही, आपको चार चीजें सुनिश्चित करनी होंगी

  1. जो डेटा आप आपूर्ति कर रहे हैं वह कोष्ठक के अंदर संलग्न होना चाहिए।
  2. डेटा का डेटाटाइप आपके VARRAY के तत्वों के डेटाटाइप से मेल खाना चाहिए जो हमारे मामले में NUMBER है।
  3. आपके द्वारा कॉलम में डालने वाले तत्वों की संख्या या तो VARRAY की आकार सीमा से कम या उसके बराबर होनी चाहिए। हमारे मामले में यह 5 है और हम कॉलम में 4 तत्व डाल रहे हैं जो पूरी तरह से ठीक है। लेकिन अगर मान लें कि मैं कॉलम में 6 तत्व सम्मिलित करता हूं तो एक त्रुटि होगी।
  4. यदि VARRAY कॉलम में एक से अधिक डेटा सम्मिलित कर रहे हैं तो सेमी-कोलन का उपयोग करके तत्वों को एक दूसरे से अलग करना सुनिश्चित करें।

VARRAY से डेटा कैसे प्राप्त करें?

डेटा को सेलेक्ट स्टेटमेंट का उपयोग करके पुनर्प्राप्त किया जा सकता है। कोई भी सही ढंग से लिखा गया सेलेक्ट स्टेटमेंट काम करेगा। उदाहरण के लिए

कैलेंडर से *चुनें;

यह तालिका कैलेंडर से सभी डेटा पुनर्प्राप्त करेगा।

यदि आप कॉलम में संग्रहीत डेटा को प्रदर्शित करना चाहते हैं, जिसमें VARRAY प्रकार का डेटा एक रिलेशनल प्रारूप में है, तो आप टेबल एक्सप्रेशन की मदद ले सकते हैं। उदाहरण के लिए

टैब1.day_name, vry.column_value को "दिनांक"के रूप में चुनेंकैलेंडर टैब1 से, तालिका (tab1.day_date) vry;

यह सेलेक्ट स्टेटमेंट आपको दोनों कॉलम के डेटा को रिलेशनल फॉर्मेट में दिखाएगा। TABLE व्यंजक संग्रह उदाहरण को खोल सकता है और संबंधपरक प्रारूप में ऑब्जेक्ट पंक्तियों का प्रतिनिधित्व कर सकता है।

VARRAY प्रकार के कॉलम का डेटा कैसे अपडेट करें?

VARRAY प्रकार के कॉलम के मानों को अपडेट करना बहुत आसान है। नीचे दिया गया उदाहरण आपको दिखाएगा कि day_date कॉलम के मानों को कैसे अपडेट किया जाए।

अद्यतन कैलेंडर सेट करें day_date =dbObj_vry(10,14,21,28) जहां day_name ='रविवार';

उदाहरण 2. PL/SQL ब्लॉक के साथ VARRAY का उपयोग कैसे करें?

उपरोक्त उदाहरण में हमने सीखा कि VARRAY का उपयोग कैसे किया जाता है जो एक तालिका के कॉलम को परिभाषित करने के लिए डेटाबेस ऑब्जेक्ट के रूप में बनाया गया है। अब हम देखेंगे कि पीएल/एसक्यूएल ब्लॉक के अंदर एक ही वेरिए का उपयोग कैसे किया जाता है।

DECLARE vry_obj dbObj_vry :=dbObj_vry();BEGIN FOR i IN 1..vry_obj.LIMIT LOOP vry_obj.EXTEND; vry_obj(i):=10*i; DBMS_OUTPUT.PUT_LINE(vry_obj(i)); END LOOP;END;/

आपने इस उदाहरण को पिछले ट्यूटोरियल में देखा है। यहां इतने बड़े बदलाव नहीं हैं सिवाय इसके कि इस बार ब्लॉक के अंदर VARRAY को परिभाषित करने के बजाय हमने इसे एक स्टैंडअलोन डेटाबेस ऑब्जेक्ट के रूप में बनाया है। मेरा सुझाव है कि आप पिछले ट्यूटोरियल पर एक नज़र डालें जहां मैंने उपरोक्त कोड को विस्तार से समझाया।

यह Oracle में डेटाबेस ऑब्जेक्ट के रूप में VARRAY बनाने के तरीके पर PL/SQL ट्यूटोरियल है। आशा है कि आपको पढ़कर अच्छा लगा होगा, यदि ऐसा है तो इस ब्लॉग को अपने दोस्तों के साथ सोशल मीडिया पर शेयर करना न भूलें। धन्यवाद और आपका दिन शुभ हो!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में किसी तालिका को अद्यतन करना यदि कोई फ़ील्ड मान शून्य है और यह निर्धारित करना कि अद्यतन सफल है

  2. SQL डेवलपर (Oracle) में CSV फ़ाइल में क्वेरी परिणाम कैसे निर्यात करें

  3. DLL "OraOps10.dll" लोड करने में असमर्थ

  4. स्तंभ के डिफ़ॉल्ट मान को संशोधित करने के लिए तालिका बदलें

  5. IN खंड में SQL एकाधिक स्तंभ