oracle - ओरेकल में दोहरी तालिका क्या है?




dual-table (9)

मैंने लोगों को इस तालिका का जिक्र सुना है और यह सुनिश्चित नहीं था कि यह किस बारे में था।


एक और परिस्थिति जिसे select ... from dual आवश्यकता है select ... from dual से जब हम DBMS_METADATA.GET_DDL फ़ंक्शन में निर्मित का उपयोग करके विभिन्न डेटाबेस ऑब्जेक्ट्स (जैसे DBMS_METADATA.GET_DDL , फ़ंक्शन, ट्रिगर, पैकेज) के लिए कोड (डेटा परिभाषा) पुनर्प्राप्त करना चाहते हैं:

select DBMS_METADATA.GET_DDL('TABLE','<table_name>') from DUAL;

select DBMS_METADATA.GET_DDL('FUNCTION','<function_name>') from DUAL;

यह सच है कि आजकल आईडीई एक तालिका के डीडीएल को देखने की क्षमता प्रदान करते हैं, लेकिन एसक्यूएल प्लस जैसे सरल वातावरण में यह वास्तव में आसान हो सकता है।

संपादित करें

एक और सामान्य स्थिति: मूल रूप से, जब हमें मानक एसक्यूएल स्टेटमेंट के अंदर किसी भी पीएल / एसक्यूएल प्रक्रिया का उपयोग करने की आवश्यकता होती है, या जब हम कमांड लाइन से प्रक्रिया को कॉल करना चाहते हैं:

select my_function(<input_params>) from dual;

दोनों व्यंजनों को जोश जूनौ और मैट एरिना द्वारा 'ओरेकल पीएल / एसक्यूएल व्यंजनों' पुस्तक से लिया जाता है


एक छद्म तालिका की तरह आप कमांड चला सकते हैं और परिणामों को वापस प्राप्त कर सकते हैं, जैसे sysdate। यह भी जांचने में आपकी सहायता करता है कि क्या ओरेकल ऊपर है और एसक्यूएल सिंटैक्स आदि की जांच करें।


ओरेकल में केवल 1 पंक्ति और 1 कॉलम के साथ एक उपयोगिता तालिका। इसका उपयोग कई अंकगणितीय परिचालन करने के लिए किया जाता है और आमतौर पर इसका उपयोग किया जा सकता है जहां किसी को ज्ञात आउटपुट उत्पन्न करने की आवश्यकता होती है।

चुनें * दोहरी से;

एक पंक्ति को "डमी" नामक एक कॉलम और "एक्स" का मान यहां दिखाएगा जैसा कि यहां दिखाया गया है:

DUMMY
----- 
X

डीयूएएल तालिका सभी ओरेकल डेटाबेस प्रतिष्ठानों में डिफ़ॉल्ट रूप से मौजूद एक विशेष एक-पंक्ति तालिका है। यह एक स्यूडोकॉलम जैसे SYSDATE या USER का चयन करने के लिए उपयुक्त है

तालिका में एक एकल VARCHAR2 (1) कॉलम है जिसे ड्यूमी कहा जाता है जिसका "एक्स" का मान होता है

आप इसके बारे में en.wikipedia.org/wiki/DUAL_table में सब कुछ पढ़ सकते हैं


डुएल हम मुख्य रूप से अनुक्रमों से अगले नंबर प्राप्त करने के लिए उपयोग किया जाता है।

सिंटेक्स: डुएलएएल से 'sequence_name'.NEXTVAL चुनें

यह एक पंक्ति एक कॉलम मान (NEXTVAL कॉलम नाम) वापस करेगा।


मुझे लगता है कि यह विकिपीडिया लेख स्पष्टीकरण में मदद कर सकता है।

en.wikipedia.org/wiki/DUAL_table

डीयूएएल तालिका सभी ओरेकल डेटाबेस प्रतिष्ठानों में डिफ़ॉल्ट रूप से मौजूद एक विशेष एक-पंक्ति तालिका है। यह एक स्यूडोकॉलम जैसे SYSDATE या USER को चुनने के लिए उपयुक्त है तालिका में एक एकल VARCHAR2 (1) स्तंभ है जिसे ड्यूममी कहा जाता है जिसका "एक्स" का मान होता है


यह एक तत्व है जिसमें एक तत्व है। यह उपयोगी है क्योंकि ओरेकल जैसे बयान की अनुमति नहीं देता है

 SELECT 3+4

आप लिखकर इस प्रतिबंध के आसपास काम कर सकते हैं

 SELECT 3+4 FROM DUAL

बजाय।


यह एक प्रकार का डमी टेबल है जिसमें एक रिकॉर्ड होता है जिसे आप वास्तव में डेटा में रूचि नहीं रखते हैं, लेकिन इसके बजाय कुछ सिस्टम फ़ंक्शन का चयन किसी चयनित कथन में करना चाहते हैं:

उदाहरण के select sysdate from dual;

http://www.adp-gmbh.ch/ora/misc/dual.html देखें


en.wikipedia.org/wiki/DUAL_table

इतिहास

आंतरिक विचारों में शामिल होने के लिए टेबल प्रदान करने के लिए ओयूकल निगम के चक वीस द्वारा डीयूएएल तालिका बनाई गई थी:

मैंने ओरेकल डेटा डिक्शनरी में एक अंतर्निहित वस्तु के रूप में डीयूएएल तालिका बनाई। यह कभी भी खुद को देखने के लिए नहीं था, बल्कि इसके बजाय एक दृश्य के अंदर इस्तेमाल किया गया था जिसकी पूछताछ की जाने वाली थी। विचार यह था कि आप डुएल टेबल में जॉइन कर सकते हैं और अपनी तालिका में प्रत्येक पंक्ति के परिणामस्वरूप दो पंक्तियां बना सकते हैं। फिर, ग्रुप बाय का उपयोग करके, परिणामी जुड़ने को डेटा सीमा के लिए और INDEX सीमा के लिए भंडारण की मात्रा दिखाने के लिए संक्षेप में सारांशित किया जा सकता है। नाम, डीयूएएल, केवल एक से पंक्तियों की एक जोड़ी बनाने की प्रक्रिया के लिए उपयुक्त लग रहा था। en.wikipedia.org/wiki/DUAL_table

यह उपर्युक्त से स्पष्ट नहीं हो सकता है, लेकिन मूल डीयूएएल तालिका में दो पंक्तियां थीं (इसलिए इसका नाम)। आजकल इसमें केवल एक पंक्ति है।

अनुकूलन

डीयूएएल मूल रूप से एक टेबल था और डेटाबेस इंजन डीयूएएल से चयन करते समय तालिका पर डिस्क IO निष्पादित करेगा। यह डिस्क आईओ आमतौर पर लॉजिकल आईओ (भौतिक डिस्क एक्सेस शामिल नहीं) था क्योंकि डिस्क ब्लॉक आमतौर पर स्मृति में पहले ही कैश किए जाते थे। इसके परिणामस्वरूप डीयूएएल तालिका के खिलाफ बड़ी मात्रा में तार्किक आईओ शामिल हुआ।

ओरेकल डेटाबेस के बाद के संस्करणों को अनुकूलित किया गया है और डेटाबेस अब डीयूएएल तालिका पर भौतिक या तार्किक आईओ निष्पादित नहीं करता है, भले ही डीयूएएल तालिका वास्तव में मौजूद है।





dual-table