一种方法是在新表中插入数据时从两个表中获取ID,然后在oldtable中查找数据并更新它。这是更简单的方法。
有人可以提出一些优化方法吗?
答案 0 :(得分:1)
-- declare a helper table variable
DECLARE @TableOfID TABLE (OldID INT, NewID INT)
MERGE newTable as target
USING (
SELECT *
FROM oldtable
) AS source
ON (1=0)
WHEN NOT MATCHED BY TARGET THEN
insert ( OldID, Col1, Col2, ..., ColN)
VALUES (ID, Col1, Col2, .., ColN)
OUTPUT Inserted.ID, Inserted.OldID INTO @TableOfID(NewID, OldID);