Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Некорректное заполнение столбца идентификаторов при инсёрте данных / 15 сообщений из 15, страница 1 из 1
20.12.2018, 13:43
    #39750799
Некорректное заполнение столбца идентификаторов при инсёрте данных
Доброго времени суток. Подскажите пожалуйста кто знает в чем может быть причина.
Использую SQL Manager 2008 fro SQL Server.
Создаю новую таблицу со столбцом идентефикаторов, указываю начальное значение - 1, инкремент - 1.
Далее записываю в нее данные запросом вида:

Код: sql
1.
2.
insert into peny.peny (id_customer, period_calc)
  values (@id_customer, @period_calc)



При этом столбец идентификаторов заполняется почему то не с еденицы, а со значения равного = Максимальное значение идентификатора в таблице + кол-во вставляемых строк +1.

Приложил скрин таблицы. В данном случаее сначало вставлено 2 записи, потом еще 5 и затем еще 2.
...
Рейтинг: 0 / 0
20.12.2018, 13:48
    #39750804
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорректное заполнение столбца идентификаторов при инсёрте данных
Сергей Будылин,

by design. Все есть в справке
...
Рейтинг: 0 / 0
20.12.2018, 14:03
    #39750822
Некорректное заполнение столбца идентификаторов при инсёрте данных
TaPaK, можно немного подробнее?
...
Рейтинг: 0 / 0
20.12.2018, 14:13
    #39750831
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорректное заполнение столбца идентификаторов при инсёрте данных
Сергей БудылинTaPaK, можно немного подробнее?
Можно: приведённый пример корректен
...
Рейтинг: 0 / 0
20.12.2018, 14:14
    #39750833
Некорректное заполнение столбца идентификаторов при инсёрте данных
TaPaK,

Действительно немного. Спасибо.
...
Рейтинг: 0 / 0
20.12.2018, 14:19
    #39750837
Некорректное заполнение столбца идентификаторов при инсёрте данных
А как же все таки сделать чтобы столбец заполнялся начиная с 1 с шагом 1 без этих выкрутасов.. )
...
Рейтинг: 0 / 0
20.12.2018, 14:22
    #39750841
boltnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорректное заполнение столбца идентификаторов при инсёрте данных
set identity insert on
...
Рейтинг: 0 / 0
20.12.2018, 14:23
    #39750842
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорректное заполнение столбца идентификаторов при инсёрте данных
Сергей БудылинА как же все таки сделать чтобы столбец заполнялся начиная с 1 с шагом 1 без этих выкрутасов.. )И чтобы еще перенумеровывался, если первую запись удалили, да? Чтобы не нарушать ваше чувство прекрасного?
...
Рейтинг: 0 / 0
20.12.2018, 14:23
    #39750843
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорректное заполнение столбца идентификаторов при инсёрте данных
Сергей БудылинА как же все таки сделать чтобы столбец заполнялся начиная с 1 с шагом 1 без этих выкрутасов.. )
1. сильно уговорить разработчика, что это прям очень необходимо.
2. Определиться что же будет при удалении/откате/парралельных вставках/и т.п.
3. Прийти к выводу что вам всего лишь надо пронумеровать вывод
...
Рейтинг: 0 / 0
20.12.2018, 14:28
    #39750845
Некорректное заполнение столбца идентификаторов при инсёрте данных
Гавриленко Сергей Алексеевич, ну что при удалении записей id уже не может использоваться я знаю) а вот в этом случае, когда добавляются новые записи, хочется понять просто почему так происходит
...
Рейтинг: 0 / 0
20.12.2018, 14:30
    #39750846
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорректное заполнение столбца идентификаторов при инсёрте данных
Сергей БудылинГавриленко Сергей Алексеевич, ну что при удалении записей id уже не может использоваться я знаю) а вот в этом случае, когда добавляются новые записи, хочется понять просто почему так происходит
вам тоже запретили msdn открывать?
...
Рейтинг: 0 / 0
20.12.2018, 14:33
    #39750853
Некорректное заполнение столбца идентификаторов при инсёрте данных
TaPaK, да нет, не смог найти ответа просто
...
Рейтинг: 0 / 0
20.12.2018, 14:36
    #39750858
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорректное заполнение столбца идентификаторов при инсёрте данных
Сергей БудылинTaPaK, да нет, не смог найти ответа просто
авторПоследовательные значения в пределах транзакции ― при вставке транзакцией нескольких строк не гарантируется, что для них будут назначены последовательные значения. Это связано с тем, что в таблице могут выполняться другие параллельные операции вставки. Если значения должны быть последовательными, то транзакция должна использовать монопольную блокировку для таблицы или уровень изоляции SERIALIZABLE.

Последовательные значения после перезапуска сервера или других ошибок - SQL Server может сохранять значения идентификаторов в кэше для обеспечения высокой производительности, и некоторые из присвоенных значений могут быть потеряны при сбое базы данных или перезагрузке сервера. Это может вызвать пропуски в значениях идентификатора при вставке. Если пропуски недопустимы, приложение должно использовать собственный механизм для создания значений ключей. Использование генератора последовательностей с параметром NOCACHE может привести к ограничению пропусков в незафиксированных транзакциях.

Повторное использование значений — свойства идентификаторов, созданные конкретным свойством идентификатора с заданными аргументами seed и increment, не используются повторно подсистемой. Если определенная инструкция вставки завершается с ошибкой или производится ее откат, использованные значения идентификаторов не будут созданы повторно. Это может привести к появлению пропусков при создании последующих значений идентификаторов.
...
Рейтинг: 0 / 0
20.12.2018, 14:36
    #39750860
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Некорректное заполнение столбца идентификаторов при инсёрте данных
Сергей БудылинTaPaK, да нет, не смог найти ответа просто http://bfy.tw/LROh
...
Рейтинг: 0 / 0
20.12.2018, 14:48
    #39750870
Некорректное заполнение столбца идентификаторов при инсёрте данных
Ясно, понятно. Спасибо.)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Некорректное заполнение столбца идентификаторов при инсёрте данных / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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