तालिका DDL बदलें और छोड़ें
अब तक, हमने नेटिव डायनेमिक एसक्यूएल का उपयोग करके पीएल/एसक्यूएल ब्लॉक के अंदर एक टेबल बनाने के सभी संभावित तरीकों को सीखा है। आप उन्हें पिछले दो ट्यूटोरियल में देख सकते हैं जो ट्यूटोरियल 82 और ट्यूटोरियल 83 हैं।
धन्यवाद, हमारे पीएल/एसक्यूएल ब्लॉक में हमें डीडीएल और डीएमएल स्टेटमेंट को निष्पादित करने की शक्ति देने के लिए डायनेमिक एसक्यूएल। ठीक है, आप सभी पाषाण युग के लोगों को शांत करो! मुझे पता है कि डीबीएमएस_एसक्यूएल पैकेज अभी भी है लेकिन गतिशील एसक्यूएल की तुलना में मुझे यह वास्तव में जटिल लगता है, इसके सुस्त प्रदर्शन का उल्लेख नहीं करना। वैसे भी, तो
इस ट्यूटोरियल से हम क्या सीख रहे हैं?
इस ट्यूटोरियल में हम सीखेंगे कि नेटिव डायनेमिक SQL के एक्ज़िक्यूट इमीडिएट स्टेटमेंट के साथ ALTER &DROP टेबल DDL का उपयोग कैसे करें। इसका मतलब है कि इस ट्यूटोरियल के अंत तक आप अपने पीएल/एसक्यूएल प्रोग्राम के माध्यम से एक डेटाबेस ऑब्जेक्ट जैसे तालिका को गतिशील रूप से संशोधित करने और हटाने में सक्षम होंगे।
हमें यह क्यों सीखना चाहिए?
कुछ लोगों को यह विषय अप्रासंगिक लग सकता है, लेकिन ऐसा नहीं है, यह विशेष रूप से Oracle प्रमाणन और साक्षात्कार के दृष्टिकोण से एक बहुत ही महत्वपूर्ण विषय है। साथ ही, एक डेवलपर होने के नाते हम सभी को अपने बुनियादी सिद्धांत स्पष्ट होने चाहिए क्योंकि आप कभी नहीं जानते कि आपको इसकी आवश्यकता कब होगी।
तो, चलिए ट्यूटोरियल शुरू करते हैं, यदि आपके पास अभी भी प्रश्न हैं, तो बेझिझक उन्हें मेरे फेसबुक पर यहां संदेश भेजें। आइए पहले सीखते हैं कि गतिशील SQL के तत्काल निष्पादन के साथ ALTER TABLE का उपयोग करके तालिका को कैसे संशोधित किया जाए।
किसी तालिका को गतिशील रूप से कैसे संशोधित करें?
डेटाबेस ऑब्जेक्ट जैसे तालिका को संशोधित करने के लिए हम Oracle डेटाबेस में ALTER DDL का उपयोग करते हैं। PL/SQL की तुलना में SQL के माध्यम से ALTER DDL का उपयोग करके तालिका को संशोधित करना आसान है।
PL/SQL सीधे DDL, DML और DQL स्टेटमेंट का समर्थन नहीं करता है। उल्लिखित SQL कथनों को निष्पादित करने के लिए हमें या तो डायनेमिक SQL या DBMS_SQL पैकेज का उपयोग करने की आवश्यकता है। इन दोनों में, नेटिव डायनेमिक एसक्यूएल (एनडीएस) अपनी सादगी और अनुकूलित प्रदर्शन के कारण सबसे व्यवहार्य विकल्प है। आप डीबीएमएस_एसक्यूएल पैकेज पर एनडीएस के फायदे यहां पढ़ सकते हैं।
इसलिए, तालिका की तरह डेटाबेस ऑब्जेक्ट को गतिशील रूप से संशोधित करने का सबसे सरल तरीका है ऑल्टर टेबल डीडीएल का उपयोग नेटिव डायनेमिक एसक्यूएल के तत्काल विवरण निष्पादित करें।
उदाहरण:तत्काल कथन निष्पादित करने के साथ तालिका DDL बदलें।
प्रदर्शन के लिए हम उसी तालिका का उपयोग करेंगे जिसे हमने पिछले ट्यूटोरियल में बनाया था। वहां हमने tut_83 नाम से एक तालिका बनाई जिसमें NUMBER डेटा प्रकार के दो कॉलम tut_num और varchar 2 डेटा प्रकार के tut_name थे।
यदि आप मेरे साथ अभ्यास कर रहे हैं तो आपके पास वह तालिका होनी चाहिए जो आपके स्कीमा में बनाई गई हो। यदि ऐसा है, तो आप जाने के लिए पूरी तरह तैयार हैं अन्यथा अंतिम ट्यूटोरियल पर जाएं और वह तालिका बनाएं।
अब मान लें कि हम इस तालिका में दिनांक डेटाटाइप का एक और कॉलम tut_date जोड़ना चाहते हैं और वह भी देशी डायनेमिक SQL का उपयोग करके। ऐसा करने के लिए हमें तत्काल कथन निष्पादित करने के साथ वैकल्पिक तालिका डीडीएल का उपयोग करने की आवश्यकता है।
चरण 1:DDL विवरण तैयार करें।
डायनेमिक SQL प्रोग्राम लिखने के लिए सबसे अच्छा अभ्यास है कि आप अपना SQL स्टेटमेंट पहले से तैयार कर लें।
ALTER TABLE tut_83 ADD tut_date DATE
यहाँ ALTER TABLE DDL है जिसका उपयोग हम गतिशील निष्पादन के लिए करेंगे। यह कथन DATE डेटा प्रकार के कॉलम tut_date को तालिका tut_83 में जोड़ देगा।
आप अवधारणा के लाइव प्रदर्शन के लिए वीडियो ट्यूटोरियल भी देख सकते हैं।
चरण 2:नेटिव डायनेमिक SQL प्रोग्राम लिखें।
एक बार जब आप अपना डीडीएल स्टेटमेंट तैयार कर लेते हैं तो आप पीएल/एसक्यूएल ब्लॉक लिखने के लिए पूरी तरह तैयार हैं।
SET SERVEROUTPUT ON; DECLARE ddl_qry VARCHAR2(50); BEGIN ddl_qry := 'ALTER TABLE tut_83 ADD tut_date DATE'; EXECUTE IMMEDIATE ddl_qry; END; /
सफल निष्पादन पर यह पीएल/एसक्यूएल प्रोग्राम उपर्युक्त तालिका को संशोधित करेगा। आप इस तरह से DESCRIBE कमांड का उपयोग करके अपनी तालिका की संशोधित संरचना की जांच कर सकते हैं
DESCRIBE tut_83;
या
DESC tut_83;
आपको बस इतना ही करना है। इस प्रकार हम तत्काल स्टेटमेंट के साथ ALTER TABLE DDL का उपयोग करके डेटाबेस ऑब्जेक्ट को गतिशील रूप से संशोधित करते हैं। यह ट्यूटोरियल के पहले भाग को भी समाप्त करता है, अब दूसरे भाग पर चलते हैं और सीखते हैं कि नेटिव डायनेमिक SQL का उपयोग करके तालिका को कैसे हटाया जाए।
किसी तालिका को गतिशील रूप से कैसे हटाएं?
डेटाबेस ऑब्जेक्ट को टेबल की तरह डिलीट करने के लिए हम Oracle डेटाबेस में DROP DDL का उपयोग करते हैं। किसी भी अन्य डीडीएल स्टेटमेंट की तरह यह भी सीधे पीएल/एसक्यूएल इंजन द्वारा समर्थित नहीं है। और हमेशा की तरह हमें इस डीडीएल को भी चलाने के लिए डायनामिक एसक्यूएल का उपयोग करने की आवश्यकता है। आइए देखें कि नेटिव डायनेमिक SQL के तत्काल निष्पादन का उपयोग करके तालिका को कैसे हटाया जाए।
चरण 1:DDL विवरण तैयार करें।
तालिका को हटाने के लिए DDL है:
DROP TABLE tut_83
यह डीडीएल स्कीमा से तालिका tut_83 को हटा देगा।
चरण 2:तत्काल निष्पादित करें के साथ DROP तालिका के लिए PL/SQL प्रोग्राम लिखें।
SET SERVEROUTPUT ON; DECLARE ddl_qry VARCHAR2 (100); BEGIN ddl_qry := 'DROP TABLE tut_83'; EXECUTE IMMEDIATE ddl_qry; END; /
इसलिए इस कार्यक्रम के सफल निष्पादन से तालिका tut_83 गिर जानी चाहिए जिसे आप ऊपर दिखाए गए अनुसार DESCRIBE कमांड का उपयोग करके आसानी से देख सकते हैं।
यह ओरेकल डेटाबेस में नेटिव डायनेमिक एसक्यूएल के तत्काल स्टेटमेंट के साथ ऑल्टर एंड ड्रॉप टेबल डीडीएल का उपयोग करके डेटाबेस ऑब्जेक्ट को संशोधित और हटाने का ट्यूटोरियल है। आशा है कि आपको इसे पढ़कर अच्छा लगा और कुछ नया सीखा। कृपया इस ब्लॉग को अपने सोशल मीडिया पर अपने दोस्तों के साथ साझा करें। अधिक रोचक जानकारियों के लिए आप मेरे साथ मेरे फेसबुक पेज पर भी जुड़ सकते हैं। धन्यवाद और आपका दिन शुभ हो!