No SSMS 2208, o identificador "Lookup" é colorido de rosa choque como se fosse uma função (mesma cor de, digamos, "Power" ou "Convert"). Por quê?
Não consigo encontrá-lo na lista oficial de palavras reservadas . As pesquisas na web parecem inúteis, pois há muitos termos de "pesquisa" por aí que não têm nada a ver com a minha pergunta.
No começo eu pensei que vinha do Sybase (que é onde o SQL Server se originou, é claro), que tem uma função de pesquisa , mas isso é relacionado ao PowerBuilder. E então eu verifiquei o SQL Server 2000 e ele não acende em rosa no Query Analyzer ...
...se fosse legado da Sybase, eu esperaria que estivesse na lista de palavras codificadas por cores o tempo todo. É possível, suponho, que o arquivo de gramática tenha sido atualizado e que tenha sido omitido "por engano" em 2000, mas duvido. É muito mais provável que seja colorida porque está listada no T-SQL Language Service como uma palavra de compatibilidade futura ou foi lançada no Language Service antes de ser usada. (Aguardo a confirmação oficial disso e compartilharei o que puder.)
Alguns outros exemplos divertidos ( eu reclamei sobre alguns deles no Connect em 2008 , mas foi fechado como Won't Fix) de realce inapropriado de palavras que também não estão na lista que você citou:
Domains
acende em verdeDescription
acende em azulServer
acende em azulInstead
acende em azulRC2
eRC4
acender em azulNa época, não capturei os exemplos
Lookup
ouInstead
e tenho certeza de que existem outros também. Embora eu suponha que o documento que você está vendo não esteja tão atualizado quanto poderia estar; no mínimo,INSTEAD
deveria estar nessa lista, pois agora faz parte do T-SQL (desde que os gatilhos INSTEAD OF foram introduzidos). Aposto que pelo menos 20 outras palavras-chave foram adicionadas ao SQL Server 2012, mas também não estão nessa lista. Verificando rapidamente, existem algumas exclusões notáveis que deveriam estar lá:OFFSET
,IIF
,FORMAT
, etc.Outro exemplo que você pode achar interessante; tente colocar uma palavra como
INSTEAD
em uma string, mas em sua própria linha. Isso funciona bem, mas não parece que vai:(Esta é cortesia de um bug registrado por @JonSeigel .)
Eu provavelmente arquivei e comentei algumas dúzias de outros bugs contra o realce de sintaxe do Management Studio ; certamente não é perfeito. Eu aprecio que você queira saber por que , mas podemos não descobrir. Como você pode ver em muitos desses itens do Connect, eles geralmente os ignoram/adiam ou os consertam sem muita explicação.