Prova detta:
insert into [table] ([data])
output inserted.id, inserted.data into table2
select [data] from [external_table]
UPPDATERING: Re:
Denis - det här verkar vara väldigt nära det jag vill göra, men du kanske kan fixa följande SQL-sats åt mig? I grund och botten representerar [data] i [tabell1] och [data] i [tabell2] två olika/distinkta kolumner från [extern_tabell]. Uttalandet du postade ovan fungerar bara när du vill att kolumnerna [data] ska vara desamma.
INSERT INTO [table1] ([data])
OUTPUT [inserted].[id], [external_table].[col2]
INTO [table2] SELECT [col1]
FROM [external_table]
Det är omöjligt att mata ut externa kolumner i en insert
uttalande, så jag tror att du kan göra något sånt här
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]
;