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

पीएल/एसक्यूएल में स्थिर डीडीएल की अनुमति क्यों नहीं है?

उत्तर है पीएल/एसक्यूएल गतिशील बहुरूपता का समर्थन नहीं करता है। यह केवल स्थिर बहुरूपता का समर्थन करता है क्योंकि

सभी पीएल/एसक्यूएल एक "डायना" उत्पन्न करता है -> एडा के लिए वर्णनात्मक इंटरमीडिएट एट्रिब्यूटेड नोटेशन, एक पेड़-संरचित मध्यवर्ती भाषा। DIANA आंतरिक रूप से संकलक द्वारा उपयोग किया जाता है।

संकलन समय पर, पीएल/एसक्यूएल स्रोत कोड को सिस्टम कोड में अनुवादित किया जाता है और संबंधित डायना उत्पन्न करता है। अब सोचें कि क्या कोई डीडीएल स्टेटमेंट था जैसे क्रिएट टेबल स्टेटमेंट जो कंपाइल टाइम पर मौजूद नहीं है, इसे प्रोग्राम चलाने के बाद बनाया जाएगा। तब आपका पीएल/एसक्यूएल इंजन डायना कैसे उत्पन्न करेगा ????

डायना पीएल/एसक्यूएल में उप कार्यक्रम की जांच/सत्यापन के लिए एक महत्वपूर्ण भूमिका निभाता है। यह आवश्यक है क्योंकि जैसा कि हम जानते हैं कि एक उप-प्रोग्राम डेटाबेस ऑब्जेक्ट्स जैसे टेबल्स, व्यू, समानार्थी या अन्य संग्रहीत प्रोसेस का उपयोग कर सकता है। यह संभव हो सकता है कि अगली बार जब आप प्रोग्राम चलाते हैं तो ऑब्जेक्ट बदल गए/हटा/गिरा गए हों। उदाहरण के लिए:हो सकता है कि किसी ने टेबल को गिरा दिया हो, संग्रहीत खरीद या फ़ंक्शन सिंगनेचर बदल गया हो।

इसीलिए आमतौर पर 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. ODP.NET के साथ नाम से बाध्यकारी क्वेरी पैरामीटर

  2. ORA-02287:यहां अनुक्रम संख्या की अनुमति नहीं है

  3. Oracle संग्रहीत कार्यविधि का परीक्षण करने का सबसे आसान तरीका

  4. Oracle:एक सबक्वेरी में कई परिणामों को एक अल्पविराम से अलग किए गए मान में संयोजित करें

  5. ओरेकल के साथ जेपीए में मेरा निराशावादी लॉकिंग क्यों काम नहीं कर रहा है