Я вставляю несколько строк в Table1, используя табличный параметр. Теперь я хочу вставить идентификатор области Table1 в Table2 с некоторыми значениями. Как мне этого добиться?
Для этого вы можете использовать предложение Пункт вывода, давайте посмотрим на пример
предположим, что ваш Table1
выглядит так
Table1(Table1_ID int identity, Name varchar(100), Email varchar(100), ...)
Теперь давайте вставим и поймаем все новые идентификаторы и имена:
declare @OutputTbl table (ID INT, Name varchar(100))
insert into Table1(Name, Email)
output inserted.Table1_ID, inserted.Name into @OutputTbl(ID, Name)
VALUES ('john doe', '[email protected]'),
('Anna', 'Anna@1com')
select * from @OutputTbl
результат в @OutputTbl будет
ID Name
-- --------
18 john doe
19 Anna
Теперь вы, конечно, можете вставить все строки из @OutputTbl
в другую таблицу, если хотите.
insert into Table2 (Table1_ID, Name)
select ID, Name
from @OutputTbl
используйте
output clause
docs.microsoft.com/en-us/sql/t-sql/queries/…