永久性地对SQL表进行排序,而不是结果

问题描述 投票:-1回答:2

我想通过使用ID列按升序永久地对我的表进行排序。

select * from CLAIMS order by ID asc; 我的表是按升序排列的,但我想永久地改变我的表。

但我想永久地改变我的表。我使用的是SQL Management Studio 2014。

sql sql-server tsql sql-order-by sql-server-2014
2个回答
2
投票

虽然没有办法在查询中不使用ORDER BY子句来保证有序的结果,但你可以将行按排序顺序存储,以使SQL Server能够运行。

select * from CLAIMS order by ID asc;

而不必每次都进行排序。 要做到这一点,只需创建一个以ID为唯一或前导列的集群索引。

例如

  alter table CLAIMS add constraint PK_CLAIMS primary key clustered (ID)

 create unique clustered index AK_CLAIMS on CLAIMS(ID)

1
投票

我想永久地对我的表格进行分类

你就是不能。SQL表代表的是 无序行. 表中的行没有固有的顺序,正如你所假设的那样。

如果你想按照给定的顺序来返回一个 给定的查询然后再加上一个 order by 子句到查询中。

select * from claims order by id

如果你不提供一个 order by 子句,数据库可以自由地按照它喜欢的顺序返回行。今天看到的某个查询的顺序在将来可能会有意想不到的变化。

© www.soinside.com 2019 - 2024. All rights reserved.