powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сортировка
4 сообщений из 4, страница 1 из 1
Сортировка
    #33785162
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ,
я заполняю таблицу в базее MS SQL из упорядоченного курсора, к примеру по дате и времени (DateTime), бегу по нему и построчно вставляю в таблицу в MS SQL каждую запись. После просмотра, все записи на месте, но разбросаны по непонятной мне закономерности....
Вопрос:
Как зазатавить MS SQL чтоб втавленные записи находились в том же порядке что и записи источника?
Спасибо.
...
Рейтинг: 0 / 0
Сортировка
    #33785281
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriiВопрос:
Как зазатавить MS SQL чтоб втавленные записи находились в том же порядке что и записи источника?
Ответ - скорее всего никак...

Используйте индексы и сортировку в команде Select...
...
Рейтинг: 0 / 0
Сортировка
    #33785796
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Valerii!

Один из принципов реляционных СУБД состоит в том, что там НЕТ такого понятия
как физический порядок следования записей. Если для тебя важна информация о
порядке - то заведи дополнительное поле, и заполняй его соотвественно -
чтобы можно было задать по нему сортировку и получить данные в нужном
порядке.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Сортировка
    #33785847
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriiКак зазатавить MS SQL чтоб втавленные записи находились в том же порядке что и записи источника?
Спасибо.
Сделай поле и заполни его в таком порядке, чтобы при сортировке по этому полю записи шли в нужном тебе порядке. А затем создай индекс и сделай его "Clustered".
Clustered - подразумевает что MS SQL будет физически хранить записи в порядке сортировки этого индекса. Это означает, что если ты захочешь добавить запись в середину таблицы, то все записи, которые окажутся после добавляемой, будут физически сдвинуты - это тормоз.
Вообще-то флаг Clustered устанавливается для индекса, который чаще используется, т.к. если записи физически отсортированы по конретному индексу, то поиск идет быстрее (это единственное для чего надо менять физический порядок хранения). Обычно флаг Clustered устанавливается для индекса по первичному ключу таблицы.
А если у тебя цель просто сделать выборку в определенном порядке, то тебе хватит простого указания порядка сортировки в выборке:
Код: plaintext
select ... order by ...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сортировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]