首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL中复制多行及其相关行

在SQL中复制多行及其相关行
EN

Stack Overflow用户
提问于 2011-08-29 09:08:59
回答 1查看 962关注 0票数 1

有人知道复制多个表行及其相关项的简单方法吗?

在我的简化示例中,我有两个表,一个是公司的表,另一个是员工的表,我希望能够以一种简单的方式克隆所有员工的整个公司。

代码语言:javascript
复制
[Companies]

- ID (Auto-increment)
- Name

[Employees]

- ID
- CompanyID (Foreign Key)
- Name

我一直在使用OUTPUT-clause,但我只是设法返回插入的I,而没有引用原始行。

我只是不知道如何将插入的行链接到原始行?

如果insert-语句返回如下表:

代码语言:javascript
复制
@mappingTable

-InsertedCompanyID
-OriginalCompanyID

我可以运行这样的声明来复制所有员工:

代码语言:javascript
复制
INSERT INTO Employees (CompanyID, Name)
SELECT m.InsertedCompanyID, x.Name FROM @mappingTable m 
INNER JOIN Employees x (x.CompanyID = m.OriginalCompanyID)

还是我走错路了?有更好的方法来完成这件事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-29 09:26:49

您可以使用merge状态的output子句在旧ID和新的自动递增ID之间映射。

看看这个问题:Using merge..output to get mapping between source.id and target.id

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7228181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档