在 SSMS 2208 中,标识符“Lookup”是粉红色的,就好像它是一个函数一样(与“Power”或“Convert”颜色相同)。为什么?
我在保留字的官方列表中找不到它。网络上的搜索似乎毫无用处,因为那里有很多与我的问题无关的“查找”术语。
在 SSMS 2208 中,标识符“Lookup”是粉红色的,就好像它是一个函数一样(与“Power”或“Convert”颜色相同)。为什么?
我在保留字的官方列表中找不到它。网络上的搜索似乎毫无用处,因为那里有很多与我的问题无关的“查找”术语。
起初我以为它来自 Sybase(当然是 SQL Server 的起源),它具有查找功能,但这是与 PowerBuilder 相关的。然后我检查了 SQL Server 2000,它在查询分析器中没有亮起粉红色......
...如果它是 Sybase 的遗产,我本来希望它一直在颜色编码的单词列表中。我想,有可能语法文件已更新,并且在 2000 年“错误地”省略了它,但我对此表示怀疑。它更有可能是彩色的,因为它在 T-SQL 语言服务中列为未来的兼容性词,或者它被扔到语言服务中以预期被使用。(我正在等待官方确认,我会分享我能做的。)
其他一些有趣的例子(我在 2008 年曾在 Connect 上抱怨过其中的一些,但由于不会修复而被关闭)不恰当地突出显示您引用的列表中也不存在的单词:
Domains
以绿色点亮Description
以蓝色点亮Server
以蓝色点亮Instead
以蓝色点亮RC2
并RC4
以蓝色点亮当时我没有捕捉到这些
Lookup
或Instead
例子,我相信还有一些其他的。尽管我猜您正在查看的文档也不是最新的;至少,INSTEAD
应该在该列表中,因为它现在是 T-SQL 的一部分(因为引入了 INSTEAD OF 触发器)。我敢打赌,至少有 20 个其他关键字已为 SQL Server 2012 添加,但也不在该列表中。快速扫描应该存在一些值得注意的排除项:OFFSET
、IIF
、FORMAT
等。另一个你可能会觉得有趣的例子;尝试将一个单词
INSTEAD
放在一个字符串中,但放在它自己的行上。这运行良好,但看起来不像:(这是由@JonSeigel 提交的一个错误提供的。)
我可能已经提交并评论了其他几十个针对 Management Studio 语法突出显示的错误;它当然不是完美的。我很感激您想知道原因,但我们最终可能无法找到答案。正如您从许多这些 Connect 项目中看到的那样,它们通常会忽略/推迟它们,或者在没有太多解释的情况下修复它们。