通过desc命令作为SQL Server Management Studio的默认选项?

Mar*_*ldt 13 sql-server ssms sql-order-by

是否有一些方法可以使SQL Server Management Studio默认返回行降序?每次我通过菜单打开一个表(例如通过选择返回所有行),我得到顶部最旧的行.我知道我可以在sql语句中添加'order by desc',但输入会变得烦人:)

JNK*_*JNK 13

SQL中没有默认的排序顺序

如果您在顶部看到"最旧",那么这可能是引擎检索它的最快方式,因为这是它存储在磁盘上的方式.

除非您指定订单,否则不保证您按此顺序获取它,将其视为"无序"!

ORDER BY 是以特定顺序获得结果的唯一方法.

根据指定的表和顺序,订购可能是一项昂贵的操作,因此无序是常态.

  • 我明白你在说什么,但我只是想知道 SQL Server Management Studio 中是否有一些设置。当您右键单击表格时,您可以选择检索“top (x)”,我希望进行一些设置“order desc” (2认同)

Mat*_*lie 6

JNK所说的是100%正确的.

但是,如果你只是想让它正常工作,并且只有当你打开一个表而不是你查询一个表时......

尝试添加聚簇索引,第一个索引字段按降序编制索引.这实际上可能会导致您的需求.

(如果您已在该字段上拥有聚簇索引,请编辑其属性并更改其顺序.)


如果这样的索引对表的实际使用是友好的,那么这只是一个明智的想法.如果为了您的方便起见,有一个无用的编程索引会自我失败;)


dea*_*ean 3

您无法更改用于从 SSMS 中的上下文菜单生成 SELECT 的现有模板。

值得庆幸的是,SSMS 是可扩展的。这意味着您可以编写自己的扩展来完全执行您想要的操作,或者您可以使用一些现有的解决方案。我推荐 Mladen 的 SSMS 工具包:

http://www.ssmstoolspack.com/

直到最近它还是免费的,2008r2 及更早版本仍然免费。