Обновление идентификатора другой таблицы при массовой вставке SQL - PullRequest
0 голосов
/ 07 мая 2018

Я застрял в проблеме, когда я массово вставляю в таблицу и хочу связать эти уникальные идентификаторы, созданные в другой таблице.

Например, у меня есть таблица А, которая имеет 4 столбца

  • ID
  • ACCOUNT_NUMBER
  • Value
  • Table_B_ID

Столбец идентификатора уникален и увеличивается в каждой строке. Table_B_ID имеет значение NULL, пока данные не будут использованы для вставки в таблицу B. Я хочу, чтобы идентификатор, созданный из таблицы B, был обновлен в этом столбце.

Я выполняю массовую вставку в другую таблицу B, используя информацию из таблицы A.

Таблица B также имеет уникальный столбец идентификатора.

INSET INTO Table B 
( Account Number, Value )
SELECT a.Account_Number, (a.Value + 2) 
FROM [Table A] as a 

Я хочу заполнить столбец Table_B_ID из первой таблицы правильным значением идентификатора, созданным при вставке в таблицу B.

По сути, мне нужно найти ссылку с идентификатором таблицы A и идентификатором таблицы B при массовой вставке. Обычно я использовал бы scope_Identity, чтобы найти уникальное значение и обновить первую таблицу при работе с одной строкой, но как это будет работать с массовой вставкой?

Обратите внимание, что это LIVE-система, поэтому другие процессы также будут вставляться.

Спасибо

...