在表B中从select语句插入后,表A中的SQL Update FK

时间:2013-08-01 09:56:29

标签: sql sql-server-2008 select

我正在使用MS SQL Server 2008, 我需要从select语句向表B中插入一些行,插入后我需要在表A中使用新插入的Id更新FK: 我的代码:

insert into TableB 
output inserted.Id as insId
SELECT   
someA,
someB 
FROM TableC u 
INNER JOIN TableD pd
ON u.Id=pd.ID

然后我需要使用inserted.Id 更新 TableA 提前谢谢。

1 个答案:

答案 0 :(得分:0)

dba.stackexchange.com

上找到了答案
  

OUTPUT Clause

DECLARE @MyTableVar table( NewScrapReasonID smallint,
                           Name varchar(50),
                           ModifiedDate datetime);
INSERT Production.ScrapReason (Name, ModifiedDate)  
    OUTPUT INSERTED.ScrapReasonID, INSERTED.Name, INSERTED.ModifiedDate
        INTO @MyTableVar
VALUES (N'Operator error', GETDATE());
     

然后您可以将表用于其他插入/更新