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

Oracle PL SQL उदाहरण में तालिका प्रकार

पीएल एसक्यूएल टेबल प्रकार वास्तव में एक सरणी की तरह संग्रह होते हैं। पीएल एसक्यूएल संग्रह की मदद से, आप बल्क डेटा को कुशलता से संसाधित कर सकते हैं। इस पोस्ट में, मैं आपको 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;

आप अपने विकास के लिए स्क्रिप्ट तैयार करने के लिए मेरे पीएल एसक्यूएल प्रक्रिया उपकरण को भी देख सकते हैं।

  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. मौजूद है / मौजूद नहीं है:'1 चुनें' बनाम 'फ़ील्ड चुनें'

  3. LEAD और LAG विश्लेषणात्मक कार्य

  4. स्प्रिंग जेडीबीसी में वर्तमान कनेक्शन ऑब्जेक्ट कैसे प्राप्त करें?

  5. Oracle में इनर जॉइन के साथ अपडेट कैसे करें