Рассмотрим одну таблицу tbl1
с ID
и Name
.Табличный параметр params
с ID
.
Мне нужно продублировать строки в tbl1
, в которых ID
содержится в params
.Я пытаюсь вставить как это
insert into tbl1(Name,somevalues..)
select tbl1.Name, tbl1.somevalues..
from @params p
inner join tbl1 on tbl1.ID=p.ID -- here ID is identity (PK).
Но после вставки, обнаруживается, что порядок вставки отличается.Если я выполняю только запрос на выборку, он будет отображать идентификатор на основе @params
(TVP).Но тот же запрос, который я использовал после вставки, будет выполняться по-другому.
порядок в TVP / Select Query - порядок при вставке с использованием Select Query - B
A B
370294 370294
368702 368702
369157 368504
368914 368505
368505 368914
368504 369157
368508 368506
368506 368507
368507 368508
368912 368637
368637 368638
368638 368639
368639 368912
368915 368915
368641 368641
Там некоторые идентификаторыкоторые отличаются по порядку.
В чем будет проблема для другого заказа?
Как я могу вставить значения в том же порядке, что и в моем TVP?
Заранее спасибо.