SQL Server Management Studio 智能感知存在问题

8

我在MSSMS 2008中遇到了自动完成的问题。每次当我尝试写一个简单的“Id”列时,MSSMS会将其替换为“IDENTITY”(因为IDENTITY是以字母I开头的第一个条目)。

我发现自动完成下拉列表中的条目没有正确排序,所以我有:

以字母I开头的条目:

IDENTITY  
...  
ISNULL  
...  
ICQNumber  
..  
Id  

有没有办法将这种错误的行为更正为正确的行为?我的意思是 - 强制MSSMS 2008正确排序?


1
这就是我关闭它的原因。通常情况下,我可以比修复损坏的智能感知更快地输入所需内容。此外,它还会干扰我的思维流程。 - HLGEM
3个回答

10

看起来Intellisense有一些大小写敏感的问题。

无论是键入id还是ID,都会提示IDENTITY,但键入Id则提示Id

这仍然很麻烦,但我发现记得键入Id可以节省大量使用退格键的时间。


3
我找到的最佳解决方案(这也是一种良好的实践)是以表名(或别名)开头来引用列参考:
SELECT YourTable.id
    FROM YourTable

或者

SELECT yt.id
    FROM YourTable yt

即使我在列前加上表别名,SSMS仍然将“yt.id”替换为“yt.IDENTITY”。 - Shock
@Shock 这是 SQL Server 2008 中已知的问题。在2012年版本中已经修复。 - Joe Stefanelli

-1

可能不是最佳实践 - 正如Joe Stefanelli所建议的那样,但是...

如果您的数据库中没有名为Id的表,您可以创建一个,"intelliSense"将默认使用它而不是IDENTITY。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接