Coba ini:
insert into [table] ([data])
output inserted.id, inserted.data into table2
select [data] from [external_table]
PERBARUI: Re:
Denis - ini tampaknya sangat dekat dengan apa yang ingin saya lakukan, tetapi mungkin Anda dapat memperbaiki pernyataan SQL berikut untuk saya? Pada dasarnya [data] di [table1] dan [data] di [table2] mewakili dua kolom yang berbeda/berbeda dari [external_table]. Pernyataan yang Anda posting di atas hanya berfungsi bila Anda ingin kolom [data] sama.
INSERT INTO [table1] ([data])
OUTPUT [inserted].[id], [external_table].[col2]
INTO [table2] SELECT [col1]
FROM [external_table]
Tidak mungkin menampilkan kolom eksternal dalam insert
pernyataan, jadi saya pikir Anda bisa melakukan sesuatu seperti ini
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]
;