In SSMS 2208 ist der Bezeichner "Lookup" pink gefärbt, als wäre er eine Funktion (dieselbe Farbe wie "Power" oder "Convert"). Warum?
Ich kann es nicht in der offiziellen Liste der reservierten Wörter finden . Suchen im Internet scheinen nutzlos zu sein, da es eine Menge "Nachschlagewerke" gibt, die nichts mit meiner Frage zu tun haben.
COUNTDISTINCT
,COUNTROWS
undRUNNINGVALUE
sollen die gleiche Art und Weise arbeiten.Antworten:
Zuerst dachte ich, es käme von Sybase (wo natürlich SQL Server herkommt), das eine Nachschlagefunktion hat , aber dies ist PowerBuilder-bezogen. Und dann habe ich SQL Server 2000 überprüft und es leuchtet nicht in rosa in Query Analyzer ...
... wenn es ein Vermächtnis von Sybase wäre, hätte ich erwartet, dass es die ganze Zeit in der Liste der farbcodierten Wörter vorkommt. Es ist möglich, dass die Grammatikdatei aktualisiert wurde und im Jahr 2000 "aus Versehen" weggelassen wurde, aber ich bezweifle es. Es ist viel wahrscheinlicher, dass es farbig ist, da es im T-SQL-Sprachdienst als zukünftiges Kompatibilitätswort aufgeführt ist oder im Hinblick auf die Verwendung in den Sprachdienst geworfen wurde. (Ich warte auf die offizielle Bestätigung, und ich werde teilen, was ich kann.)
Einige andere lustige Beispiele ( ich habe mich 2008 über einige davon bei Connect beschwert , aber es wurde als "Won't Fix" geschlossen) für die unangemessene Hervorhebung von Wörtern, die ebenfalls nicht auf der von Ihnen zitierten Liste stehen:
Domains
leuchtet grün aufDescription
leuchtet blau aufServer
leuchtet blau aufInstead
leuchtet blau aufRC2
undRC4
leuchten in blauZu der Zeit habe ich die
Lookup
oderInstead
Beispiele noch nicht aufgenommen und ich bin mir sicher, dass es auch einige andere gibt. Obwohl ich vermute, dass das Dokument, das Sie sich ansehen, nicht so aktuell ist, wie es auch sein könnte; ZumindestINSTEAD
sollte es auf dieser Liste stehen, da es jetzt Teil von T-SQL ist (seit Einführung von INSTEAD OF-Triggern). Ich wette, es gibt mindestens 20 andere Schlüsselwörter, die für SQL Server 2012 hinzugefügt wurden, aber auch nicht auf dieser Liste stehen. Schnell Scannen gibt es einige bemerkenswerte Ausnahmen , die es sein sollte:OFFSET
,IIF
,FORMAT
etc.Ein weiteres interessantes Beispiel. Versuchen Sie, ein Wort wie
INSTEAD
in eine Zeichenfolge, aber in eine eigene Zeile zu setzen. Das läuft gut, sieht aber nicht so aus:(Diesmal mit freundlicher Genehmigung eines von @JonSeigel eingereichten Fehlers .)
Ich habe wahrscheinlich ein paar Dutzend anderer Bugs gegen die Syntaxhervorhebung in Management Studio eingereicht und kommentiert . es ist sicherlich nicht perfekt. Ich weiß es zu schätzen, dass Sie wissen möchten, warum, aber wir werden es möglicherweise nicht herausfinden. Wie Sie an vielen dieser Connect-Elemente sehen können, ignorieren / verschieben sie diese normalerweise oder beheben sie ohne viel Erklärung.
quelle
INSTEAD OF UPDATE
. Aber es ist kein reserviertes Wort ...