我想找出创build一个SQL语句(在SQL Server中)复制父logging和所有子logging的最佳方法。 我以下面为例,
-- duplicate the order insert into Orders (CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry) select CustomerID, EmployeeID, getdate(), RequiredDate, null, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry from Orders where OrderID = @OrderID -- find ID of duplicated order declare @NewOrderID int; select @NewOrderID = @@IDENTITY; -- duplicate order details insert into "Order Details" (OrderID, ProductID, UnitPrice, Quantity, Discount) select @NewOrderID, ProductID, UnitPrice, Quantity, Discount from "Order Details" where OrderID = @OrderID
这适用于复制子表“Order Details”。 但是我需要能够复制“订单详细信息”的子项目,但看不到任何将这些logging的身份隔离并传递到另一个表的方法。 有没有人有任何build议如何轻松完成?
做一个查询来查找所有的子logging,这些logging大概有一个指向父logging的关键字。 你会希望已经在该领域的索引。 然后,只需使用类似的函数来复制副本,除了使用重复的父顺序的新密钥,而不是旧密钥。