SQL Server 默认选择前1000行

5
有没有方法使默认排序为以下形式:按ID降序排列,或按行创建日期降序排列?

你是指SQL Server Management Studio的默认设置吗? - chollida
在 SSMS 中右键单击表名时,是的。 - Bradley Thomas
请看我在这篇帖子中的回答,我认为那就是你想要的:http://stackoverflow.com/a/17306241/426422。如果你是指所有查询的默认值,我认为这是不可能的。 - Mike Cheel
1
我不相信这可以像你想的那样灵活,你可以从任何表中选择*,但是你不能按创建日期对任何表进行排序。 - meda
2个回答

9
不行。唯一可以修改的属性是“工具” -> “选项” -> “SQL Server对象资源管理器” ->“选择前 n 行命令”下的行数。请注意,您也可以修改“编辑前n行”和“选择前n个审核记录”。
您可以编写一个单独的存储过程,将其添加到主数据库中,并在“工具” -> “选项” ->“键盘” ->“查询快捷方式”下添加一个快捷方式。然后在Management Studio中,您可以突出显示模式和表的名称并运行该快捷方式。调用的存储过程随后可以为您完成此操作。以下是可实现此目标但按第一列而不是特定列名排序的示例存储过程。您可以将 1 替换为特定列名,但这可能更灵活以适应您的需求。
CREATE PROCEDURE dbo.usp_Test_OrderByFirstColumnDesc
    @TableName VARCHAR(MAX)
AS

SET NOCOUNT ON;

DECLARE @SqlCommand NVARCHAR(MAX) = N'SELECT TOP 1000 *
FROM ' + @TableName + ' (NOLOCK)
ORDER BY 1 DESC';

PRINT @SqlCommand;

EXEC dbo.sp_ExecuteSQL @SqlCommand;

2

工具-->选项-->SQL Server对象资源管理器-->命令

将“编辑前几行命令的值更改”提高到更高的数字。


1
这个怎么会得到任何的评分呢?它并没有回答问题。 - LordWabbit

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