W SSMS 2208 identyfikator „Lookup” ma kolor hot pink, tak jakby był funkcją (ten sam kolor co, powiedzmy, „Power” lub „Convert”). Dlaczego?
Nie mogę go znaleźć na oficjalnej liście zastrzeżonych słów . Wyszukiwanie w Internecie wydaje się bezużyteczne, ponieważ istnieje bardzo dużo terminów „wyszukiwania”, które nie mają nic wspólnego z moim pytaniem.
COUNTDISTINCT
,COUNTROWS
iRUNNINGVALUE
powinny działać w ten sam sposób.Odpowiedzi:
Na początku myślałem, że pochodzi z Sybase (stąd oczywiście SQL Server), który ma funkcję wyszukiwania , ale jest to związane z PowerBuilder. A potem sprawdziłem SQL Server 2000 i nie świeci on na różowo w Query Analyzer ...
... jeśli to byłaby spuścizna po Sybase, spodziewałbym się, że będzie cały czas na liście słów oznaczonych kolorami. Przypuszczam, że możliwe jest, że plik gramatyki został zaktualizowany i że został pominięty „przez pomyłkę” w 2000 roku, ale wątpię w to. Bardziej prawdopodobne jest, że jest kolorowy, ponieważ jest wymieniony w usłudze językowej T-SQL jako słowo przyszłej zgodności lub został wrzucony do usługi językowej w oczekiwaniu na użycie. (Czekam na oficjalne potwierdzenie tego i podzielę się, co mogę).
Kilka innych zabawnych przykładów ( narzekałem na kilka z nich w Connect w 2008 roku , ale zostało zamknięte jako Won't Fix) niewłaściwego podświetlania słów, których również nie ma na cytowanej liście:
Domains
świeci na zielonoDescription
świeci na niebieskoServer
świeci na niebieskoInstead
świeci na niebieskoRC2
iRC4
świeci na niebieskoW tym czasie nie przechwyciłem
Lookup
aniInstead
przykładów, i jestem pewien, że są też inne. Chociaż zgaduję, że dokument, na który patrzysz, nie jest tak aktualny, jak mógłby być; przynajmniejINSTEAD
powinien znajdować się na tej liście, ponieważ jest teraz częścią T-SQL (ponieważ wprowadzono wyzwalacze INSTEAD OF). Założę się, że do SQL Server 2012 dodano co najmniej 20 innych słów kluczowych, ale nie ma ich również na tej liście. Szybkie skanowanie istnieją jednak pewne wyjątki, które powinny tam być:OFFSET
,IIF
,FORMAT
, itd.Kolejny przykład, który może Cię zainteresować; spróbuj wpisać słowo jak
INSTEAD
w ciągu, ale we własnej linii. Działa to dobrze, ale nie wygląda na to, że:(To dzięki uprzejmości błędu zgłoszonego przez @JonSeigel .)
Prawdopodobnie napisałem i skomentowałem kilka innych błędów związanych z podświetlaniem składni Management Studio ; to z pewnością nie jest idealne. Doceniam to, że chcesz wiedzieć, dlaczego, ale możemy się ostatecznie nie dowiedzieć. Jak widać z wielu z tych elementów Connect, zwykle ignorują / odraczają je lub naprawiają je bez większego wyjaśnienia.
źródło
INSTEAD OF UPDATE
. Ale to nie jest słowo zastrzeżone ...