Они не вставлены "перемешаны". Как вы восстанавливаете? Ах, вот в чем проблема. Наборы результатов (например, таблицы) по своей природе неупорядочены . Итак, если вы смотрите на данные, используя только select
, то вы можете увидеть вещи не в порядке.
Самое простое решение - это если в первом столбце указан номер строки или что-то еще. Тогда вы можете сделать:
select abc.*
from abc
order by abc.linenumber;
И все будет выглядеть правильно.
EDIT:
Если вам нужно добавить номер строки, вы можете загрузить в представление. Примерно так:
CREATE TABLE NDCArchitectBulkInsert (
NDCArchitectBulkInsertId int identity(1, 1) primary key,
. . . -- rest of the columns
);
CREATE VIEW v_NDCArchitectBulkInsert as
SELECT . . . -- rest of columns but not id
FROM NDCArchitectBulkInsert;
BULK INSERT v_NDCArchitectBulkInsert
FROM '\\FTP\\TestFiles\\abc'
WITH (ROWTERMINATOR = '~');
Я не уверен на 100%, что поведение гарантировано, но я думаю, что на практике это обновит личность в порядке вставки.