SQL सर्वर में "लुकअप" एक फ़ंक्शन आरक्षित शब्द के रूप में रंगीन क्यों है?


14

SSMS 2208 में, पहचानकर्ता "लुकअप" रंगीन गुलाबी रंग का होता है जैसे कि यह एक फ़ंक्शन था (जैसा कि रंग, कहते हैं, "पावर" या "कन्वर्ट")। क्यों?

मैं इसे आरक्षित शब्दों की आधिकारिक सूची में नहीं पा सकता हूं । वेब पर खोजें बेकार लगती हैं क्योंकि वहाँ बहुत सारे "लुकअप" शब्द हैं, जिनका मेरे सवाल से कोई लेना-देना नहीं है।


1
मेरे विचार से SSRS लुकअप () फ़ंक्शन ( msdn.microsoft.com/en-us/library/ee210531.aspx ) है। अच्छा प्रश्न। +1
थॉमस स्ट्रिंगर

@ शकर अच्छा लगता है, लेकिन मैं अन्य कार्यों की अपेक्षा करूंगा कि वे इसी तरह के नियमों का पालन करें, लेकिन वे एसएसएमएस, उदाहरण के लिए हाइलाइट नहीं करते हैं COUNTDISTINCT, COUNTROWSऔर RUNNINGVALUEउसी तरह काम करना चाहिए।
हारून बर्ट्रेंड

जवाबों:


14

पहले मुझे लगा कि यह Sybase से आया है (जो कि जहां SQL सर्वर की उत्पत्ति हुई है), जिसमें लुकअप फंक्शन है , लेकिन यह पॉवरब्यूलर से संबंधित है। और फिर मैंने SQL Server 2000 की जाँच की और यह क्वेरी एनालाइज़र में गुलाबी रंग की नहीं है ...

यहाँ छवि विवरण दर्ज करें

... अगर यह सिबेस से विरासत थी तो मुझे उम्मीद थी कि यह रंग-कोडित शब्दों की सूची में होगा। यह संभव है, मुझे लगता है, कि व्याकरण फ़ाइल को अपडेट किया गया था और इसे 2000 में "गलती से" छोड़ दिया गया था, लेकिन मुझे संदेह है। यह बहुत अधिक संभावना है कि यह रंगीन है क्योंकि इसे टी-एसक्यूएल भाषा सेवा में भविष्य की संगतता शब्द के रूप में सूचीबद्ध किया गया है, या इसका उपयोग किए जाने की प्रत्याशा में भाषा सेवा में फेंक दिया गया था। (मैं इसकी आधिकारिक पुष्टि पर प्रतीक्षा कर रहा हूं, और मैं वह साझा कर सकता हूं जो मैं कर सकता हूं।)

कुछ अन्य मज़ेदार उदाहरण ( मैंने 2008 में कनेक्ट बैक पर इनमें से कुछ के बारे में शिकायत की थी , लेकिन यह उन शब्दों के अनुचित हाइलाइटिंग के रूप में बंद नहीं किया गया था जो आपके द्वारा उद्धृत सूची में नहीं हैं:

  • Domains हरे रंग में रोशनी
  • Description नीले रंग में रोशनी
  • Server नीले रंग में रोशनी
  • Instead नीले रंग में रोशनी
  • RC2और RC4नीले रंग में प्रकाश

यहाँ छवि विवरण दर्ज करें

उस समय मैंने Lookupया Insteadउदाहरणों पर कब्जा नहीं किया था , और मुझे यकीन है कि कुछ अन्य लोग भी हैं। हालाँकि मैं अनुमान लगा रहा हूँ कि आप जिस दस्तावेज़ को देख रहे हैं वह आज तक नहीं है जैसा कि यह हो सकता है; बहुत कम से कम, INSTEADउस सूची में होना चाहिए क्योंकि यह अभी टी-एसक्यूएल का एक हिस्सा है (चूंकि INSTEAD OF ट्रिगर्स पेश किए गए थे)। मुझे यकीन है कि SQL सर्वर 2012 के लिए कम से कम 20 अन्य कीवर्ड जोड़े गए हैं, लेकिन उस सूची में भी नहीं हैं। जल्दी स्कैनिंग वहाँ कुछ उल्लेखनीय बहिष्करण कि वहाँ होना चाहिए: OFFSET, IIF, FORMAT, आदि

एक और उदाहरण आपको दिलचस्प लग सकता है; INSTEADएक स्ट्रिंग में एक शब्द डालने की कोशिश करें लेकिन अपनी लाइन पर। यह ठीक चलता है, लेकिन ऐसा नहीं लगेगा:

SELECT 'foo 
INSTEAD
';

यहाँ छवि विवरण दर्ज करें

(यह @JonSeigel द्वारा दायर बग का एक शिष्टाचार है ।)

मैंने संभवतः प्रबंधन स्टूडियो के सिंटैक्स हाइलाइटिंग के खिलाफ दर्जनों अन्य बगों के एक जोड़े पर दायर और टिप्पणी की है ; यह निश्चित रूप से सही नहीं है। मैं सराहना करता हूं कि आप यह जानना चाहते हैं कि आखिर हम क्यों नहीं खोज सकते। जैसा कि आप इनमें से बहुत से कनेक्ट आइटम से देख सकते हैं, वे आमतौर पर उन्हें अनदेखा / हटा देते हैं, या बहुत स्पष्टीकरण के बिना उन्हें ठीक कर देते हैं।


2
मैं उन लोगों के बारे में भूल गया! मैं कुछ समय पहले आपके कनेक्ट सबमिशन में भाग गया था।
एरिक

वैसे, "INSTEAD" इस तरह की समझ में आता है क्योंकि ट्रिगर हो सकते हैं INSTEAD OF UPDATE। लेकिन यह एक आरक्षित शब्द नहीं है ...
एरिक

@ErikE मैं "के बजाय" पर प्रकाश डाला, क्योंकि यह है एक कीवर्ड, बस सूची (एक और सबूत के चूरे कि वह पुराना हो चुका निहायत है) पर नहीं।
हारून बर्ट्रेंड

"साइट" नीले रंग में हाइलाइट होती है और आरक्षित कीवर्ड सूची में नहीं है
साइमन डी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.