Автор В к задал вопрос в разделе Другие языки и технологии
MS SQL Server 2008 R2 и получил лучший ответ
Ответ от Лайт Ягами[гуру]
1) автоинкрементные поля и не обязаны быть ровно с 1 с шагом 1, важно только, чтобы каждый новый добавляемый был больше предыдущих.
2) нет такого понятия как "порядок строк", порядок определяется с помощью ORDER BY в запросе, если он не указан, то полученный порядок может оказаться любым.
Ответ от Alexey velikiy[гуру]
Из ms sql 2005: при определении автоинкрементных полей после identity следует (<начало отсчёта>, <шаг>). Если не указать эти параметры, система назначает их сама - и тут Лайт Ягами прав, нумерация не обязательно будет с 1, и шаг её тоже не обязательно будет 1. Синтаксис DDL в 2008 вряд ли сильно отличается от 2005...
Насчёт сортировки - Ягами опять прав - согласно стандарту SQL92 - без явного указания порядка сортировки кортежи могут быть выведены в произвольном порядке. Однако, независимо от шага автоинкрементных полей и от начала отсчёта, отношение порядка на множестве значений первичных ключей будет гарантировано - это система обеспечит сама, без подсказок.
Из ms sql 2005: при определении автоинкрементных полей после identity следует (<начало отсчёта>, <шаг>). Если не указать эти параметры, система назначает их сама - и тут Лайт Ягами прав, нумерация не обязательно будет с 1, и шаг её тоже не обязательно будет 1. Синтаксис DDL в 2008 вряд ли сильно отличается от 2005...
Насчёт сортировки - Ягами опять прав - согласно стандарту SQL92 - без явного указания порядка сортировки кортежи могут быть выведены в произвольном порядке. Однако, независимо от шага автоинкрементных полей и от начала отсчёта, отношение порядка на множестве значений первичных ключей будет гарантировано - это система обеспечит сама, без подсказок.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: MS SQL Server 2008 R2