यह सवाल मेरा एक पिछले पोस्ट/समाधान से बाहर आया:एसक्यूएल सर्वर कारण है कि मैं मेज के बाद देखा गया रीफ़्रेश करना होगा बदलता है
adding a field somehow effects a views results
IMO यह अपने आप ही पद के योग्य है। SQL सर्वर 2008 R2 का उपयोग करना।
मुझे किसी तालिका में कॉलम जोड़ने के बाद दृश्यों को रीफ्रेश करना क्यों है, जो दृश्य में संदर्भित है? हालांकि इस पोस्ट/प्रश्न का उत्तर देने के लिए सीधे जरूरी नहीं है, मेरे विशिष्ट परिदृश्य के लिए परिदृश्य/व्यवहार को उपरोक्त पोस्ट को समझाया गया है।
मैं विचारों का एक बड़ा प्रशंसक नहीं हूं। यह बहुत दुर्लभ है कि मैं उन्हें ईमानदार बनाने के लिए तैयार करता हूं, मैं कोड के साथ काम कर रहा हूं जिसे मैंने मूल रूप से नहीं लिखा था। आइए मान लें कि आपके पास 70+ विचार हैं जिन्हें आपने मूल रूप से नहीं लिखा था इसलिए इस बात का कोई अंदाजा नहीं है कि प्रत्येक बार जब आप डेटा बेस कॉलम जोड़ते हैं तो उन्हें ताज़ा करने की आवश्यकता होती है। मैं किसी भी प्रभाव के बिना किसी भी समय कभी भी कॉलम जो भी कॉलम जोड़ सकता हूं उसे जोड़ने में सक्षम होना चाहिए। एक व्यापार इकाई किसी भी प्रकार के बदलाव के लिए अनुरोध बढ़ा सकती है जिसके लिए किसी भी समय जोड़े गए फ़ील्ड की आवश्यकता हो सकती है।
निश्चित रूप से इसके लिए एक और दृष्टिकोण है?
एक दृश्य केवल एक प्रश्न नहीं है, हर बार इसे गतिशील रूप से पुनर्गठित करने पर स्वयं को पुनर्गठित करता है। यह एक स्कीमा, कॉलम और आगे के साथ तत्काल है। कई मामले हैं (जैसे कि आपके द्वारा संदर्भित लिंक में से एक) जहां परिणाम सेट में अतिरिक्त कॉलम जोड़ना अप्रत्याशित रूप से व्यवहार कर सकता है। हालांकि इस तरह के अधिक लक्स कार्यान्वयन की विपरीत दिशा में आप जाते हैं, विचारों को भी SCHEMABINDING विकल्प के साथ घोषित किया जा सकता है, जो अंतर्निहित वस्तुओं में स्कीमा परिवर्तनों को प्रतिबंधित करता है। हालांकि, जैसा कि कई स्थानों पर देखा गया था, यदि आप एक नया कॉलम चुनने के लिए स्कीमा चाहते हैं, तो आपको अपने समय के लिए धन्यवाद sp_refreshview – Xedni
का उपयोग करना होगा। हालांकि मुझे यह पसंद नहीं है, यह समझ में आता है। मुझे एहसास है कि विचारों के लिए संसाधन दक्षता लाभ है। यह कहा, मुझे पूरा यकीन है कि मैं उन्हें अब भी कम पसंद करता हूं। एक तालिका में कॉलम जोड़ने के परिणामस्वरूप मैंने आज देखा है कि अंतिम उपयोगकर्ता अनुभव uvery erratic – Mat41
दृश्य हमेशा खराब नहीं होते हैं। वे जटिल प्रश्नों को सरल बनाने के लिए बहुत अच्छे हैं, जो प्रश्नों में व्यवसाय नियमों को मानकीकृत करते हैं जिन्हें ऐप्स या संग्रहीत प्रोसेस में साझा किया जा सकता है, आपको नाम बदलने वाले फ़ील्ड लिखने या तीसरे पक्ष के डेटाबेस के खिलाफ प्रश्नों को सरल बनाने में सक्षम बनाता है (विशेष रूप से पुरातन नाम वाले विरासत वाले, जैसे तालिका के रूप में एई 1401 फ़ील्ड FN144, आदि के साथ नाम), और जब ऐप्स तालिका साझा करते हैं, यदि अंतर्निहित तालिका फ़ील्ड बदलना चाहिए, तो दृश्य नाम वही बना सकता है जो आपको एकाधिक ऐप्स बदलने के लिए मजबूर नहीं कर सकता है। –