Hãy thử điều này:
insert into [table] ([data])
output inserted.id, inserted.data into table2
select [data] from [external_table]
CẬP NHẬT: V / v:
Denis - điều này có vẻ rất gần với những gì tôi muốn làm, nhưng có lẽ bạn có thể sửa câu lệnh SQL sau cho tôi? Về cơ bản, [dữ liệu] trong [table1] và [data] trong [table2] đại diện cho hai cột khác nhau / khác biệt với [external_table]. Câu lệnh bạn đã đăng ở trên chỉ hoạt động khi bạn muốn các cột [dữ liệu] giống nhau.
INSERT INTO [table1] ([data])
OUTPUT [inserted].[id], [external_table].[col2]
INTO [table2] SELECT [col1]
FROM [external_table]
Không thể xuất các cột bên ngoài trong insert
tuyên bố, vì vậy tôi nghĩ bạn có thể làm điều gì đó như thế này
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]
;