Постоянно сортировать SQL таблица не результат - PullRequest
0 голосов
/ 28 мая 2020

Я хочу постоянно отсортировать свою таблицу, используя столбец идентификатора в возрастающем порядке.

select * from CLAIMS order by ID asc; дает мне результат в порядке возрастания.

Но я хочу навсегда изменить свою таблицу. Я использую SQL Management Studio 2014.

Ответы [ 2 ]

2 голосов
/ 28 мая 2020

Хотя нет возможности гарантировать упорядоченный результат без предложения ORDER BY в вашем запросе, но вы можете сохранить строки в отсортированном порядке, чтобы сервер SQL мог запускать

select * from CLAIMS order by ID asc;

без выполнять сортировку каждый раз. Для этого просто создайте кластерный индекс с идентификатором в качестве единственного или ведущего столбца.

EG

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

или

 create unique clustered index AK_CLAIMS on CLAIMS(ID)
1 голос
/ 28 мая 2020

Я хочу постоянно отсортировать свою таблицу

Вы просто не можете. SQL таблицы представляют неупорядоченный набор строк . Как вы, кажется, предполагаете, в таблице нет внутреннего упорядочения строк.

Если вы хотите, чтобы строки возвращались в заданном порядке для данного запроса , тогда добавьте order by предложение к запросу:

select * from claims order by id

Если вы не предоставите предложение order by, база данных может возвращать строки в любом порядке. Порядок, который вы видите сегодня для данного запроса, может неожиданно измениться в будущем.

...