बस Oracle की सम्मिलित वाक्य रचना को देख जब में डालें, मैं तुम्हें एक प्रश्न है, उदा में सम्मिलित कर सकते देखाएक प्रश्न
insert into (select * from dept) (deptno, dname) values (99, 'new department');
क्या कोई इस बात पर कुछ प्रकाश डाल सकता है कि इसका क्या अर्थ है? मैं एक क्वेरी में डालने के साथ क्या हासिल कर सकता हूं जिसे मैं सीधे तालिका में डालने के साथ नहीं कर सकता?
अद्यतन: अब तक ऐसा लगता है यह सिर्फ एक विकल्प वाक्य रचना है, इसलिए मैं
insert into (select deptno, dname from dept) values (99, 'new department');
बजाय
insert into dept (deptno, dname) values (99, 'new department');
यही बात, एक ही कार्य योजना लागू करके लिख सकते हैं। इससे कोई फ़र्क नहीं पड़ता कि क्वेरी रिकॉर्ड लौटाती है या नहीं। यह:
insert into (select deptno, dname from dept where 1 = 0) values (99, 'new department');
फिर से उसी निष्पादन योजना की ओर जाता है। तो हम मान सकते हैं कि यह वास्तव में कोई फर्क नहीं पड़ता कि सबक्वायरी तब तक दिखता है जब तक हम केवल एक तालिका से कॉलम का चयन नहीं करते हैं। लेकिन नहीं। यह:
insert into (select deptno, dname from dept cross join some_table)
values (99, 'new department');
ओर जाता है करने के लिए "ORA-01,779: एक स्तंभ जो एक गैर कुंजी से संरक्षित मेज पर नक्शे संशोधित नहीं कर सकते" या ": डेटा हेरफेर आपरेशन इस दृश्य पर कानूनी नहीं ORA-01,732"।
मैं धारणा है कि ओरेकल एक प्रश्न में डालने, क्योंकि वे, और क्या एक सबक्वेरी यहाँ तो एक तदर्थ दृश्य है के मामले में दृश्य में डालने की अनुमति देने के लिए अनुमति देते हैं करने का निर्णय लिया है? तो जब आप एक दृश्य में सम्मिलित कर सकते हैं, निश्चित रूप से वे आपको एक विज्ञापन दृश्य में भी डालने देते हैं, लेकिन उनके सही दिमाग में कोई भी इस वाक्यविन्यास का उपयोग कभी नहीं करेगा :-)
लेकिन शायद मैं गलत हूं? हो सकता है कि यह वाक्यविन्यास ऐसा कुछ प्रदान करता है जिसे मैं अभी तक नहीं जानता हूं? यदि ऐसा है तो मुझे बताएं :-)
आह, तो क्या आप कह रहे हैं कि यह सिर्फ एक वैकल्पिक वाक्यविन्यास है? मैं 'dept (deptno, dname) मानों (...)' में डाल सकता हूं या 'सम्मिलित करें, deptno, dename से dname) मान (...) '। तो यह वही बात लिखने का एक और तरीका है और किसी के पास कोई दूसरा फायदा नहीं है? –
असल में हाँ - हालांकि मैंने संभावित विधियों का शोध नहीं किया है। दस्तावेज़ों के आधार पर मैं उनसे अपेक्षा नहीं करता, जब तक कि आपके पास केवल 'सम्मिलित' विशेषाधिकार न हों और संबंधित तालिका पर 'चयन' न करें। – collapsar