我想制作一张地图,其中包含原始房间ID以及每个创建的房间的新房间ID。
答案 0 :(得分:1)
尝试在insert语句中使用“OUTPUT”子句。然后,您可以将所有插入的值和随附的键映射到不同的“映射”表。编辑:我应该补充一下,这都是在SINGLE事务中完成的,这使得性能很棒!
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
答案 1 :(得分:0)
虽然我建议您更改表格设计并为新网站和原始网站ID分别设置一个列,但在目前的设计中,我认为您正在寻找以下内容:
SELECT
Name, @origSiteID, ControlsSiteNum, ControlsRoomNum, IsActive
FROM Rooms
WHERE SiteID = @newSiteID