复制多个行及其';在SQL中删除相关行
有人知道复制多个表行及其相关项的简单方法吗 在我的简化示例中,我有两个表,一个是公司表,另一个是员工表,我希望能够以一种简单的方式克隆整个公司及其所有员工复制多个行及其';在SQL中删除相关行,sql,tsql,Sql,Tsql,有人知道复制多个表行及其相关项的简单方法吗 在我的简化示例中,我有两个表,一个是公司表,另一个是员工表,我希望能够以一种简单的方式克隆整个公司及其所有员工 [Companies] - ID (Auto-increment) - Name [Employees] - ID - CompanyID (Foreign Key) - Name 我一直在使用OUTPUT-子句,但只是设法返回插入的ID,而不引用原始行 我就是不知道如何将插入的行链接到原始行? 如果insert语句返回如下表: @m
[Companies]
- ID (Auto-increment)
- Name
[Employees]
- ID
- CompanyID (Foreign Key)
- Name
我一直在使用OUTPUT
-子句,但只是设法返回插入的ID,而不引用原始行
我就是不知道如何将插入的行链接到原始行?
如果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)
还是我走错了路?有没有更好的方法来实现这一点?您可以使用
merge
语句的output子句在旧ID和新的自动递增ID之间进行映射
看看这个问题:您可以使用
merge
station的output子句在旧ID和新的自动递增ID之间映射
看看这个问题:如果您使用的是SQL Server 2008,那么可以将output子句与
merge
一起使用。正是我想要的。非常感谢。如果您使用的是SQL Server 2008,则可以将output子句与merge
一起使用。正是我想要的。非常感谢。回答这个问题,我会将其标记为已接受:)