1

我想为创建的每个房间生成一个包含原始房间 ID 及其新房间 ID 的地图。

4

2 回答 2

1

尝试在插入语句中使用“OUTPUT”子句。然后,您可以将所有插入的值和随之而来的键映射到不同的“映射”表。编辑:我应该补充一点,这一切都是在一个单一的事务中完成的,这使得性能非常好!

Insert Into TableA
(
  Field1,
  Field2,
  Field3
)
  Output Inserted.Field1, Field2, Field3, MappingID
  Into MappingTable
Select Field1, Field2, Field3
From Rooms

这是 OUTPUT 子句的 msdn 站点的链接:http: //msdn.microsoft.com/en-us/library/ms177564.aspx

于 2013-08-01T17:38:21.197 回答
0

尽管我建议您更改表格设计并为新站点 ID 和原始站点 ID 分别设置一个单独的列,但在目前的设计中,我认为您正在寻找以下内容:

  SELECT 
    Name, @origSiteID, ControlsSiteNum, ControlsRoomNum, IsActive
  FROM Rooms
  WHERE SiteID = @newSiteID
于 2013-08-01T17:40:45.730 回答