Tôi đang chèn bản ghi từ một máy chủ sql db vào một máy chủ khác. Tôi cần lấy id mới được chèn vào và cập nhật một trường trên bảng nguồn. Tôi có thể nhận được ID mới với tùy chọn INSERTED không có vấn đề gì. Tuy nhiên, tôi dường như không thể nhận được ID từ bảng nguồn. Bảng đích không có trường cho ID của nguồn. Bảng nguồn là một bảng chuyển đổi và tôi không muốn gây ô nhiễm bảng đích với các trường chuyển đổi. Điều này có thể là không thể nhưng tôi nghĩ tôi sẽ kiểm tra với các bạn lần đầu tiên.Chèn SQL Server bằng cách sử dụng INSERTED để lấy ID mới và ID hiện tại
drop table #Table1
CREATE TABLE #Table1
(
Table1ID INT,
Table2ID INT,
NAME VARCHAR(32)
)
INSERT INTO #Table1
VALUES
(1, NULL, 'Fred')
,(2, NULL, 'Tom')
,(3, NULL, 'Sally')
--ok, im inserting into #Table2
drop table #Table2
CREATE TABLE #Table2
(
[Table2ID] [int] IDENTITY(1,1) NOT NULL,
NAME VARCHAR(32)
)
--THE RUB, I want to insert Table2ID into table3
--along with Table1ID. I cannot seem to reference table1
--Any Ideas?
insert into #Table2(NAME)
OUTPUT INSERTED.Table2ID, T.Table1ID into #Table3
select Name from #Table1 T
Nó hoạt động như một nhà vô địch ... Cảm ơn Remus! – Steve