我想为创建的每个房间生成一个包含原始房间 ID 及其新房间 ID 的地图。
问问题
338 次
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 回答