У меня есть (таблица A) с одним полем идентификации (ID), мне нужно вставить несколько строк одновременно с помощью одной операции вставки, поэтому я использую структуру таблицы в качестве параметра передачи для моей хранимой процедуры
Мне нужен вставленный идентификатор в порядке вставки, поэтому я выполняю следующий запрос в моем SP
(таблица B имеет ту же структуру, что и таблица A):
CREATE PROCEDURE ssp_Test
(
tableA tableAType
)
AS
BEGIN
INSERT INTO tableB(field1, field2, ...)
OUTPUT INSERTED.ID
SELECT field1, field2, ... from tableA
END
Если я запускаю описанную выше процедуру с 100 записями, она возвращает новое поле идентификатора в порядке, который он вставил в таблицу B, но когда я запускаю его с 500 записями, все вставленные идентификаторы возвращаются без разумного порядка, почему это происходит?
Мне не нужна другая временная таблица, чтобы поместить ее туда, отсортировать и вернуть, я просто хочу знать, почему это происходит, и есть ли какое-либо решение без использования дополнительной временной таблицы для сортировки?