पीएल एसक्यूएल टेबल प्रकार वास्तव में एक सरणी की तरह संग्रह होते हैं। पीएल एसक्यूएल संग्रह की मदद से, आप बल्क डेटा को कुशलता से संसाधित कर सकते हैं। इस पोस्ट में, मैं आपको PL SQL टेबल टाइप कलेक्शन के लिए बहुत ही बेसिक और सबसे अधिक इस्तेमाल होने वाले कमांड सिखाऊंगा। नीचे Oracle PL SQL उदाहरण में तालिका प्रकार है।
सबसे पहले आपको इसे PL SQL ब्लॉक के डिक्लेयर सेक्शन में घोषित करना होगा। यहाँ उदाहरण के साथ वाक्य रचना है:
Oracle PL SQL उदाहरण में तालिका प्रकार
<एच3>1. PL SQL तालिका प्रकार घोषित करेंType any_table_type is table of emp%rowtype index by binary_integer; emp_rec any_table_type;
उपरोक्त आदेश तालिका प्रकार की घोषणा करेंगे any_table_type emp तालिका पंक्ति प्रकार और फिर emp_rec के साथ प्रारंभ करें। घोषणा के बाद, आप इसे मैन्युअल रूप से मान निर्दिष्ट कर सकते हैं। नीचे उदाहरण है:
<एच3>2. PL SQL तालिका प्रकारों को मान निर्दिष्ट करेंset serveroutput on; declare Type any_table_type is table of emp%rowtype index by binary_integer; emp_rec any_table_type; begin emp_rec(1).ename := 'abc'; /* assigning values */ emp_rec(2).ename := 'xyz'; dbms_output.put_line(emp_rec(1).ename); /* accessing values */ dbms_output.put_line(emp_rec(2).ename); end;
क्योंकि PL SQL तालिकाएँ सरणियाँ हैं, इसलिए मानों को सरणी तत्व संख्या देकर असाइन किया जाना चाहिए, जैसा कि ऊपर दिखाया गया है। अब नीचे उदाहरण दिया गया है कि PL SQL तालिका प्रकार के संग्रह से कैसे हटाएं।
<एच3>3. PL SQL तालिका प्रकारों से तत्वों को हटानाset serveroutput on; declare Type any_table_type is table of emp%rowtype index by binary_integer; emp_rec any_table_type; begin emp_rec(1).ename := 'abc'; emp_rec(2).ename := 'xyz'; emp_rec.delete(1); /* will delete first element */ for i in emp_rec.first .. emp_rec.last loop /* loop through the array */ dbms_output.put_line(emp_rec(i).ename); end loop; end;
उपरोक्त उदाहरण पहले तत्व को हटा देगा और केवल दूसरा प्रिंट करेगा। जब आप उपरोक्त ब्लॉक को निष्पादित करेंगे, तो आउटपुट होगा:
xyz
PL/SQL प्रक्रिया सफलतापूर्वक पूरी हुई।
PL SQL तालिका प्रकार से सभी तत्वों को हटाने के लिए, नीचे उदाहरण दिया गया है:
emp_rec.delete;<एच3>4. बल्क कलेक्ट का उपयोग करके PL SQL तालिका प्रकारों को पॉप्युलेट करना
नीचे oracle PL SQL उदाहरण में तालिका प्रकार emp तालिका से डेटा लाने के लिए है और फिर यह PL SQL तालिका प्रकार को बल्क कलेक्ट का उपयोग करके पॉप्युलेट करेगा और फिर यह FORALL का उपयोग करके emp तालिका को अपडेट करेगा। यहाँ उदाहरण है:
set serveroutput on; DECLARE CURSOR c IS SELECT * FROM emp; TYPE any_table_type IS TABLE OF emp%ROWTYPE INDEX BY BINARY_INTEGER; emp_rec any_table_type; BEGIN OPEN c; FETCH c BULK COLLECT INTO emp_rec; CLOSE c; FORALL i IN emp_rec.FIRST .. emp_rec.LAST UPDATE emp SET comm = emp_rec (i).sal * 10 / 100 WHERE empno = emp_rec (i).empno; COMMIT; END;
आप अपने विकास के लिए स्क्रिप्ट तैयार करने के लिए मेरे पीएल एसक्यूएल प्रक्रिया उपकरण को भी देख सकते हैं।