Probeer dit:
insert into [table] ([data])
output inserted.id, inserted.data into table2
select [data] from [external_table]
UPDATE: Re:
Denis - dit lijkt heel dicht bij wat ik wil doen, maar misschien kun je de volgende SQL-instructie voor mij oplossen? In principe vertegenwoordigen de [data] in [tabel1] en de [data] in [tabel2] twee verschillende/verschillende kolommen van [externe_tabel]. De verklaring die u hierboven hebt geplaatst, werkt alleen als u wilt dat de [data]-kolommen hetzelfde zijn.
INSERT INTO [table1] ([data])
OUTPUT [inserted].[id], [external_table].[col2]
INTO [table2] SELECT [col1]
FROM [external_table]
Het is onmogelijk om externe kolommen uit te voeren in een insert
verklaring, dus ik denk dat je zoiets zou kunnen doen
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]
;