【发布时间】:2010-07-02 16:02:18
【问题描述】:
我正在将记录从一个 sql server db 插入另一个。我需要获取新插入的 id 并更新源表上的字段。我可以使用 INSERTED 选项获得新 ID 没问题。但是,我似乎无法从源表中获取 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
【问题讨论】:
标签: sql-server insert identity