如何更改默认的SELECT TOP 1000查询以使用*而不是每个字段?

时间:2011-04-06 15:09:00

标签: sql sql-server-2008

在SSMS 2008 R2中,我们有右键菜单中的默认选择前1000名和编辑前200名查询。我已经看到你可以在哪里更改它在选项中返回的行数。

我所追求的是,​​我可以告诉它做一个SELECT *而不是扩展并包括每个字段吗?

这不是性能问题或任何事情,只是在查询超过5个字段的表时烦恼,我想做一个选择*。

例如,如果我有一个包含以下字段的表:

  • 姓氏
  • 生日
  • 城市
  • 邮编

当我右键单击此Persons表并选择“SELECT TOP 1000 ROWS”菜单时,我希望运行的查询

SELECT TOP 1000 *  FROM People

而不是

SELECT TOP 1000 FirstName, LastName, Birthday, City, State, Zip FROM People

编辑我怀疑对此没有真正的答案,但我想我是否有人想出来了。

3 个答案:

答案 0 :(得分:3)

SSMS的开发人员为什么要鼓励糟糕的做法。由于选择*确实是一种非常糟糕的做法,他们为什么要鼓励它呢?

我可以看到不想在快速非生产查询中写入所有字段,但因为它正在为您执行此操作,为什么您不希望它正确地执行此操作?

答案 1 :(得分:3)

我不相信有任何方法可以自定义本机SSMS功能。但是,对于此类事情,您可以使用SSMS tools pack插件“自定义脚本”。

Screenshot

(虽然说实话,选择列并输入*可能与导航菜单一样快)

Screenshot 2

答案 2 :(得分:0)

这违反了最佳做法,因此SSMS不会这样做。

您最好的选择是删除特定列并替换为*,或者只是保留它,因为默认情况下是为您选择所有列...

将光标放在TOP n之后并执行Ctrl-Shift-EndShift-Up*并不需要多长时间,但我确实理解当你进行测试时使用*超过完整的列规范并且它使一切更整洁。

如果将SSMS Tools Pack与SSMS IntelliSense结合使用,您可以更快地输入,而不是滚动,右键单击并选择。