我有一堆表需要克隆来自的子集。我已经使用了许多循环来递归地完成了这项工作,但是速度非常慢。
问题是表格上的层次结构是使用INT IDENTITY(1,1)
列构建的,这意味着我必须将旧的Id
映射到新的Id
等。
我希望能够批量克隆每个阶段并使用OUTPUT
语句执行此映射,但我无法实现此目的,因为我无法访问FROM
表中的OUTPUT
表{1}}陈述。下面的示例显示了我想要实现但不起作用的内容。
CREATE TABLE #NewIds (IdNew INT, IdOld INT)
INSERT INTO IdTest
OUTPUT inserted.Id, i.Id
INTO #NewIds
SELECT id
FROM IdTest i
WHERE id IN (SELECT Id FROM #IdTestsToClone)
任何人都可以向我解释如何让这个工作吗?