我想运行一个生成一行 XML 的(广泛的)查询。此 XML 代表大约 12 个关系数据表。当我从顶级表中“删除”一行时,我想“捕获”当时数据的状态(以 XML 格式),将其保存到存档表中,然后删除所有子表数据,最后标记顶级表/行为“isDeleted=1”。我们还有其他数据挂在父表上,这些数据不能被删除,也不能失去与顶层表的关系。
我已经解决了大部分 XML - 请参阅我的帖子,关于那罐蠕虫。
现在,我怎样才能将其捕获到存档表中?
CREATE TABLE CampaignArchive(CampaignID int, XmlData XML)
INSERT INTO CampaignArchive(CampaignID, XmlData)
SELECT CampaignID, (really long list of columns) FROM (all my tables) FOR XML PATH ...
这只是行不通。:)
有什么建议么?
TIA