我在两个表之间有一对多的关系(分别是Product和PLProduct)。 这是通过与Product.Id相关的外键PLProduct.ParentProductId完成的。
问题是:如何将PLProduct中的记录复制(孤立)到Product表,同时设置外键?
答案 0 :(得分:0)
这两个简单的SQL语句应该这样做。这假设您的CHILD表具有适当的PK,因为我们将利用该唯一性来创建父记录。
--INSERT a parent record with a name containing the child ID
INSERT INTO Parent1
SELECT 'Child_' + CAST(ID as varchar) FROM Child1 WHERE ParentID IS NULL
--UPDATE the child table from a join to the parent table on the name field
UPDATE Child1
SET Child1.ParentID = Parent1.ID
FROM
Child1
JOIN Parent1 ON 'Child_' + CAST(Child1.ID as varchar) = Parent1.ParentName
我正在使用SQL2000,没有任何有趣的技巧(不过想看看还有什么。)