Правите често срещаната заблуда да приемате ред в таблицата. Масите нямат ред. Само резултатите имат ред, който е неопределен, освен ако не е указано изрично ORDER BY.
Може да зададете различен въпрос:как се присвоява генерираната самоличност стойност в случай на едновременни вмъквания? Отговорът е прост:няма значение . И ако направите някакво предположение за поръчката, вашият код е повреден. Същото важи и за пропуските. Вашето приложение трябва да работи дори ако генерираните самоличности са напълно случайни и правилно написано приложение ще работи, ако самоличността е напълно произволна. Използвайте SCOPE_IDENTITY()
за извличане на последната въведена самоличност. Още по-добре използвайте OUTPUT
клауза на INSERT
, работи и за многоредови вложки.
За протокола:самоличностите се генерират в реда, в който операциите получават достъп до лог поток .