Можно ли использовать столбец идентификаторов SQL Server для определения порядка вставки строк? - PullRequest
7 голосов
/ 02 апреля 2009

Мне нужно иметь возможность определить порядок, какие строки были вставлены в таблицу (нет обновлений). Могу ли я использовать столбец идентификации для этого? Я знаю, что могут быть пробелы, но гарантируется ли увеличение значений в порядке вставки?

Ответы [ 3 ]

7 голосов
/ 02 апреля 2009

В основном да, если вы никогда не сбрасываете его, не вставляете строки с массовым копированием или используете IDENTITY_INSERT И, конечно, при условии, что вы не переполняете тип данных (что может быть впечатляющим).

2 голосов
/ 02 апреля 2009

Как обсуждал Марк, да, вы можете с оговорками

Однако для окончательного решения проблемы необходимо добавить столбец

.
dteInserted datetime not null default getdate()

Тогда вы просто выбираете упорядоченный этим.

Я автоматически добавляю такой столбец в любую таблицу «данных» в любой разрабатываемой мной базе данных. Хранилище дешевое в наше время, и отметка времени вставки в строку всегда полезна в какой-то момент.

2 голосов
/ 02 апреля 2009

Да. Любые пробелы, вызванные удалением, не будут использоваться повторно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...