Опитайте това:
insert into [table] ([data])
output inserted.id, inserted.data into table2
select [data] from [external_table]
АКТУАЛИЗИРАНЕ: Re:
Денис - това изглежда много близко до това, което искам да направя, но може би бихте могли да коригирате следния SQL израз вместо мен? По принцип [данните] в [таблица1] и [данните] в [таблица2] представляват две различни/различими колони от [external_table]. Изявлението, което публикувахте по-горе, работи само когато искате колоните [data] да са еднакви.
INSERT INTO [table1] ([data])
OUTPUT [inserted].[id], [external_table].[col2]
INTO [table2] SELECT [col1]
FROM [external_table]
Невъзможно е да се изведат външни колони в insert
изявление, така че мисля, че бихте могли да направите нещо подобно
merge into [table1] as t
using [external_table] as s
on 1=0 --modify this predicate as necessary
when not matched then insert (data)
values (s.[col1])
output inserted.id, s.[col2] into [table2]
;