Сначала я подумал, что он пришел из Sybase (откуда, конечно, и возник SQL Server), у которого есть функция поиска , но это связано с PowerBuilder. А потом я проверил SQL Server 2000, и он не горит розовым в Query Analyzer ...
... если бы это было наследие от Sybase, я бы ожидал, что он будет в списке слов с цветовой кодировкой. Возможно, я предполагаю, что файл грамматики был обновлен и что он был опущен «по ошибке» в 2000 году, но я сомневаюсь в этом. Гораздо более вероятно, что он окрашен, потому что он указан в языковой службе T-SQL как будущее слово совместимости, или он был брошен в языковую службу в ожидании использования. (Я жду официального подтверждения этого, и я поделюсь, что я могу.)
Некоторые другие забавные примеры ( я жаловался на некоторые из них на Connect еще в 2008 году , но он был закрыт как «Не исправлять») на несоответствующее выделение слов, которых также нет в списке, который вы цитируете:
Domains
загорается зеленым
Description
загорается синим цветом
Server
загорается синим цветом
Instead
загорается синим цветом
RC2
и RC4
загораются синим цветом
В то время я не запечатлел Lookup
ни Instead
примеров, и я уверен, что есть и другие. Хотя я предполагаю, что документ, который вы просматриваете, не настолько актуален, как мог бы быть; по крайней мере, INSTEAD
должен быть в этом списке, так как теперь он является частью T-SQL (так как были введены триггеры INSTEAD OF). Могу поспорить, что есть как минимум 20 других ключевых слов, которые были добавлены для SQL Server 2012, но также не включены в этот список. Быстро сканирований есть некоторые заметные исключения , которые должны быть там: OFFSET
, IIF
, FORMAT
и т.д.
Другой пример, который вы можете найти интересным; попробуйте поместить слово как INSTEAD
в строку, но в отдельной строке. Это работает нормально, но это не выглядит так:
SELECT 'foo
INSTEAD
';
(Это любезно предоставлено @JonSeigel сообщением об ошибке .)
Я, вероятно, подал и прокомментировал пару десятков других ошибок в подсветке синтаксиса Management Studio ; это конечно не идеально. Я ценю, что вы хотите знать, почему, но мы не можем в конечном итоге узнать. Как вы можете видеть из множества этих элементов Connect, они обычно игнорируют / откладывают их или исправляют без особого объяснения.