代码之家  ›  专栏  ›  技术社区  ›  Arulmouzhi

SELECT$b不显示intellisense作为错误,但抛出错误。这种情况背后的原因是什么?

  •  0
  • Arulmouzhi  · 技术社区  · 6 年前

    我试图探索SQL。在这样做时,得到以下错误-

    SELECT $b
    

    错误-伪列“$b”无效。

    0 回复  |  直到 6 年前
        1
  •  1
  •   Caius Jard    6 年前

    IntelliSense是客户端的东西,列是服务器端的东西。IntelliSense不一定知道某个伪列不存在(比如$IDENTITY确实存在,但只适用于具有IDENTITY类型列的表),但是当您运行查询时,服务器会告诉您它不存在。IntelliSense不是一个不断查询服务器以确保您所写内容不是垃圾的设备—如果您使用另一个SSMS窗口将列添加到表中,然后从第一个窗口引用它,您可以看到这一点—除非您刷新它(我想是Ctrl+Alt+R),否则tellisene不知道它在那里,因此它将在新的列,即使查询在提交到服务器时运行正常