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

PL/SQL संग्रह:Oracle डेटाबेस में नेस्टेड तालिका

पीएल/एसक्यूएल ब्लॉक के अंदर नेस्टेड टेबल कैसे बनाएं

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

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

परिभाषा <मजबूत>
नेस्टेड टेबल एक-आयामी संरचनाएं हैं जो प्रकृति में स्थिर और असीमित हैं। वे एसक्यूएल के साथ-साथ पीएल/एसक्यूएल में पहुंच योग्य हैं और टेबल, रिकॉर्ड्स और ऑब्जेक्ट परिभाषाओं में उपयोग किए जा सकते हैं। चूंकि यह एक असीमित पीएल/एसक्यूएल संग्रह है, इसलिए यह एक अनियंत्रित सेट में कितनी भी संख्या में तत्व रख सकता है।

सुझाए गए पठन:PL/SQL संग्रह का परिचय

पीएल/एसक्यूएल ब्लॉक के अंदर या डेटाबेस में संग्रह प्रकार ऑब्जेक्ट (स्कीमा ऑब्जेक्ट) के रूप में एक नेस्टेड तालिका बनाई जा सकती है। पूर्व नेस्टेड तालिका के मामले में बिना किसी अनुक्रमणिका प्रकार या किसी ऊपरी सीमा के एक-आयामी सरणी के रूप में व्यवहार करता है।

तो कुछ समय के लिए आइए इस बात पर ध्यान दें कि PL/SQL ब्लॉक के अंदर नेस्टेड टेबल कैसे बनाएं और बाकी को अगले ट्यूटोरियल के लिए छोड़ दें।

नेस्टेड टेबल बनाने के लिए सिंटैक्स

DECLRE TYPE Nested_table_name is TABLE OF element_type [NOT NULL];

मैंने अपने YouTube चैनल पर अपने वीडियो ट्यूटोरियल में इस सिंटैक्स को विस्तार से समझाया है। मैं आपको उस वीडियो को देखने की अत्यधिक अनुशंसा करता हूं।

उदाहरण:PL/SQL ब्लॉक के अंदर नेस्टेड टेबल कैसे बनाएं?

निम्नलिखित उदाहरण केवल यह प्रदर्शित करने के लिए है कि नेस्टेड तालिका कैसे बनाई जाती है, इसमें कुछ भी फैंसी नहीं है।

SERVEROUTPUT ON सेट करें;घोषित प्रकार my_nested_table संख्या की तालिका है; var_nt my_nested_table :=my_nested_table (9,18,27,36,45,54,63,72,81,90);BEGIN DBMS_OUTPUT.PUT_LINE ('NT में अनुक्रमणिका 1 पर संग्रहीत मान है' ||var_nt (1)); DBMS_OUTPUT.PUT_LINE ('NT में अनुक्रमणिका 2 पर संग्रहीत मान है' ||var_nt (2)); DBMS_OUTPUT.PUT_LINE ('NT में अनुक्रमणिका 3 पर संग्रहीत मान है' ||var_nt (3));END; // पूर्व> 

उपरोक्त उदाहरण एक बहुत ही सरल उदाहरण है जिसमें हमने एक नेस्टेड तालिका बनाई और इसे 'my_nested_table' (पंक्ति संख्या 3) नाम दिया। अगली पंक्ति (पंक्ति संख्या 4) में हमने उसी संग्रह का एक उदाहरण बनाया और इसका उपयोग नेस्टेड तालिका को प्रारंभ करने और उसमें कुछ डेटा संग्रहीत करने के लिए किया। निष्पादन अनुभाग में हम संग्रहीत डेटा को इंडेक्स नंबर का उपयोग करके व्यक्तिगत रूप से एक्सेस करते हैं, उसी तरह जैसे हम सरणियों में करते थे।

इंडेक्स का उपयोग करके मैन्युअल रूप से डेटा तक पहुंचने के बजाय हम संग्रह नेस्टेड तालिका के प्रत्येक तत्व के माध्यम से लूप और चक्र का उपयोग कर सकते हैं।

 सर्वरआउट चालू करें; घोषणा प्रकार my_nested_table संख्या की तालिका है; var_nt my_nested_table:=my_nested_table (9,18,27,36,45,54,63,72,81,90); BEGIN for i IN 1..var_nt.COUNT LOOP DBMS_OUTPUT.PUT_LINE ('इंडेक्स पर स्टोर किया गया मान' ||i||'is '||var_nt(i)); अंत लूप; अंत; // पूर्व> 

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

पीएल/एसक्यूएल ब्लॉकों में नेस्टेड टेबल बनाने का तरीका यही है। अगले ट्यूटोरियल में बने रहें, हम सीखेंगे कि डेटाबेस संग्रह ऑब्जेक्ट के रूप में नेस्टेड टेबल कैसे बनाएं और आपके डेटाबेस में संग्रहीत नेस्टेड टेबल की जानकारी प्राप्त करने के लिए आप सभी डेटा डिक्शनरी दृश्यों का उपयोग कैसे कर सकते हैं।

बस इतना ही। पढ़ने के लिए धन्यवाद और आपका दिन शुभ हो!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक कॉलम में डुप्लिकेट प्रविष्टियां खोजें

  2. Oracle में नियंत्रण फिर से शुरू करने के लिए लूप्स में CONTINUE का उपयोग करना

  3. क्लाउड में Oracle ऑटोनॉमस डेटाबेस के साथ शुरुआत करना

  4. ODP.NET कनेक्शन पूलिंग:कैसे बताएं कि क्या कनेक्शन का उपयोग किया गया है

  5. Oracle में प्राथमिक कुंजी का नाम कैसे बदलें ताकि इसका पुन:उपयोग किया जा सके