2012-06-08 12 views
9

मैं एक प्रश्न पर काम कर रहा हूं, और एक चयनित कथन पर टीएसक्यूएल "फॉर ब्रॉवे" विकल्प पर माइक्रोसॉफ्ट से न्यूनतम दस्तावेज मिला है।टीएसक्यूएल "ब्राउज के लिए" विकल्प क्या है?

मैंने कर्सर के विकल्प के रूप में दस्तावेज के लिए ब्राउज को देखा है, लेकिन मुझे इसका उपयोग करने के किसी भी अच्छे उदाहरण, या चयन विवरण पर ब्राउज के लिए उपयोग करने के कारण नहीं मिल पाए हैं।

किसी TSQL SELECT कथन में ब्राउज के लिए उपयोग करने के अच्छे कारण क्या हैं?

मैं एसक्यूएल सर्वर 2008 और 2012

+1

यहां एक नज़र डालें: http://msdn.microsoft.com/en-us/library/ms173812.aspx – Lamak

+0

हां, मैंने इसे पढ़ा, और मैं इसे प्राप्त करने में सक्षम था "ब्राउज़ मोड आपको पंक्तियों को स्कैन करने देता है अपनी SQL सर्वर तालिका में और एक समय में अपनी तालिका में डेटा को एक पंक्ति अपडेट करें "लेकिन यह कैसे काम करता है? यदि मैं परिणाम सेट के माध्यम से लूपिंग करते समय अद्यतन विवरण जारी कर रहा था, तो क्या मैं इसका उपयोग करूंगा? –

उत्तर

7

उपयोग कर रहा हूँ जहाँ तक मेरा बता सकते हैं। यह एक ऐसे अनुप्रयोग के भीतर optimistic concurrency control को लागू करने के लिए एक इंटरफ़ेस प्रतीत होता है जहां एक या अधिक उपयोगकर्ता एक ही समय में एक ही स्रोत से डेटा तक पहुंच और अद्यतन कर रहे होंगे। यह एक संगत फ्रंट एंड लाइब्रेरी (DB-Library) के संयोजन के साथ काम करता प्रतीत होता है। हालांकि, ऐसा लगता है कि यह कुछ हद तक बहिष्कृत तंत्र है क्योंकि आप उपरोक्त सभी को "For Browse" कथन का उपयोग किए बिना प्राप्त कर सकते हैं। डीबी-लाइब्रेरी (एक बहिष्कृत सी लाइब्रेरी) कॉल "dbopen" के परिणाम हैं जो दो डीबीप्रोसेस संरचनाओं को बनाने की आवश्यकता से आगे की पुष्टि की जा सकती है। चयनित डेटा के आधार पर अद्यतन करने के लिए डेटा का चयन के लिए और दूसरा:

इसके अलावा, ब्राउज़ मोड दो DBPROCESS संरचनाओं की आवश्यकता है। src

डीबी लाइब्रेरी के साथ संयोजन के रूप में एक "ब्राउज़ के लिए" क्वेरी का उपयोग करने का Here is an example

आखिरकार, यह निष्कर्ष निकालना उचित होगा कि यह तंत्र अभी भी पीछे की संगतता के उद्देश्य के लिए मौजूद है। इसलिए जब तक आप डीबी-लाइब्रेरी का उपयोग कर सी आधारित क्लाइंट को बनाए रखते हैं, तो मैं इस एसक्यूएल "for clause" के बारे में ज्यादा चिंता नहीं करता।

कुछ अन्य स्रोतों

एक और अवलोकन

फॉर ब्रॉज़ के साथ घोषित कर्सर को ओपन कोर्स ऑपरेशन के दौरान केवल असामान्य परिवर्तन (कर्सर स्वामी समेत किसी के द्वारा बनाया गया) के लिए प्रतीक्षा करनी चाहिए। कर्सर खुला होने के बाद, बाद में परिवर्तन कर्सर को प्रतीक्षा करने का कारण नहीं है। जब एक कर्सर फिर से खोल दिया जाता है, तो इसे असामान्य परिवर्तनों से अवरुद्ध किया जा सकता है। src

1

एक एसक्यूएल सर्वर कनेक्शन पर एक SQL SELECT कथन को ब्राउज़ करें या सेट NO_BROWSETABLE पर प्रयोग करने के लिए जोड़ अधिक विस्तृत स्कीमा में जानकारी प्राप्त करने के लिए आवश्यक हो सकता है।

यह उपयोगी हो सकता है यदि कोई एप्लिकेशन ओडीबीसी परत के माध्यम से ओडीबीसी परत के माध्यम से प्रत्यक्ष या अप्रत्यक्ष रूप से इंटरैक्ट करता है क्योंकि ओडीबीसी फ़ंक्शन SQLColAttribute द्वारा लौटाए गए कुछ विवरण एक खाली स्ट्रिंग वापस कर देंगे जब तक कि SQL SELECT के लिए ब्राउज संलग्न नहीं किया जाता है।

उदाहरण के लिए, यदि आपका सी ++ ऐप libodbc++ का उपयोग करता है और आपको क्वेरी से चयन परिणाम मिलता है * ए से बी, आप परिणाम SetMetaData ऑब्जेक्ट से कॉलम के तालिका नाम पुनर्प्राप्त नहीं कर पाएंगे। हालांकि, यदि आप ब्राउज के लिए जोड़ते हैं, तो तालिका के नामों को गंभीर रूप से पॉप्युलेट किया जाएगा।

संबंधित मुद्दे