我從一個SQL服務器數據庫插入記錄到另一個。我需要獲取新插入的id並更新源表上的字段。我可以用INSERTED選項獲得新的ID沒問題。但是,我似乎無法從源表中獲取ID。目標表中沒有用於源ID的字段。源表是一個轉換表,我不想用轉換字段污染目標表。這可能是不可能的,但我想我會先與你們覈對一下。SQL Server插入語句使用INSERTED獲取新ID和現有ID
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
它像一個冠軍......感謝Remus! – Steve 2010-07-02 19:14:26