有人知道复制多个表行及其相关项的简单方法吗?
在我的简化示例中,我有两个表,一个是公司的表,另一个是员工的表,我希望能够以一种简单的方式克隆所有员工的整个公司。
[Companies]
- ID (Auto-increment)
- Name
[Employees]
- ID
- CompanyID (Foreign Key)
- Name我一直在使用OUTPUT-clause,但我只是设法返回插入的I,而没有引用原始行。
我只是不知道如何将插入的行链接到原始行?
如果insert-语句返回如下表:
@mappingTable
-InsertedCompanyID
-OriginalCompanyID我可以运行这样的声明来复制所有员工:
INSERT INTO Employees (CompanyID, Name)
SELECT m.InsertedCompanyID, x.Name FROM @mappingTable m
INNER JOIN Employees x (x.CompanyID = m.OriginalCompanyID)还是我走错路了?有更好的方法来完成这件事吗?
发布于 2011-08-29 09:26:49
您可以使用merge状态的output子句在旧ID和新的自动递增ID之间映射。
看看这个问题:Using merge..output to get mapping between source.id and target.id
https://stackoverflow.com/questions/7228181
复制相似问题