एक दृश्य खराब बनाने के लिए '*' का उपयोग क्यों कर रहा है?एक दृश्य खराब बनाने के लिए '*' का उपयोग क्यों कर रहा है?
मान लीजिए कि आपके पास जटिल जुड़ाव है और सभी फ़ील्ड कहीं भी उपयोग किए जा सकते हैं।
फिर आपको बस आवश्यक फ़ील्ड चुनना होगा।
SELECT field1, field2 FROM aview WHERE ...
दृश्य "aview" हो सकता है SELECT table1.*, table2.* ... FROM table1 INNER JOIN table2 ...
हम एक समस्या है, तो 2 क्षेत्रों table1 और table2 में एक ही नाम है।
क्या यही कारण है कि '*' दृश्य में उपयोग करना बुरा है?
'*' के साथ, आप दृश्य को एक अलग संदर्भ में उपयोग कर सकते हैं क्योंकि जानकारी वहां है।
मुझे क्या याद आ रही है?
सादर
कृपया मेरी अन्य टिप्पणी देखें, SQL सर्वर पर सभी परिवर्तन जरूरी नहीं हैं। – user12861
इसके अतिरिक्त, दृश्य का उपयोग करने वाले कोड का उपयोग नहीं करना चाहिए *, इसलिए दृश्य में * उपयोग करना काफी उचित हो सकता है, और यह सुनिश्चित करने के लिए कि यह * का उपयोग नहीं कर रहा है, यह सुनिश्चित करने के लिए कोड पर कोड होगा। –
अंत में टिप्पणी पूरी तरह से गलत है (कम से कम SQL सर्वर में) - विपरीत होता है - अंतर्निहित तालिकाओं में परिवर्तन चुपचाप अनदेखा कर रहे हैं। यह @ user12861 उल्लेख है। एसक्यूएल सर्वर में चयन * का उपयोग करके किसी भी दृश्य को अंडरलिंग टेबल बदलते समय ड्रॉप और पुनर्निर्माण की आवश्यकता होगी अन्यथा यह चुपचाप सभी कॉलम नहीं दिखाएगा। यह विफलता का एक बहुत बुरा रूप है क्योंकि यह एक देव वातावरण में उठाए जाने की संभावना नहीं है जहां आप अपने डेटाबेस को नियमित आधार पर खरोंच से पुनर्निर्माण कर रहे हैं। जब आप कॉलम –