我遇到一个问题,用户可能需要合并2个父实体,将所有子节点连接到单个父节点,这部分很容易,但是如果需要,我还需要能够恢复这些更改。
所以例如;
假设我有John和Dave,他们每人都有2个资产,我想将Dave的资产转移给John,这将通过简单地将Dave的资产'OWNERPKID'交换到Johns ID来完成。
到目前为止,有2个表Person
,Asset
,并且该链接包含在资产表中。
我想知道SQL中是否有任何可以跟踪此更改的内容,并且可以在需要时将其还原。我也知道约翰也可能把他的资产交给其他人,如果我们想要恢复原状,那么这些资产真的会让事情变得复杂。
还有什么东西可以处理这个事件吗?
答案 0 :(得分:0)
欢迎来到精彩的交易世界!在SQL中(假设MSSQL因为没有指定任何内容),您可以使用命令BEGIN TRANSACTION
启动事务。然后,有两个关闭交易的选项:您可以COMMIT TRANSACTION
或ROLLBACK TRANSACTION
。 COMMIT
将更改保存到您的数据库,ROLLBACK
还原所有在交易过程中所做的更改。
对交易做一些研究,我很确定你会找到你正在寻找的东西。