还原对数据库的更改

时间:2016-06-01 16:30:13

标签: sql sql-server

我遇到一个问题,用户可能需要合并2个父实体,将所有子节点连接到单个父节点,这部分很容易,但是如果需要,我还需要能够恢复这些更改。

所以例如;

假设我有John和Dave,他们每人都有2个资产,我想将Dave的资产转移给John,这将通过简单地将Dave的资产'OWNERPKID'交换到Johns ID来完成。

到目前为止,有2个表PersonAsset,并且该链接包含在资产表中。

我想知道SQL中是否有任何可以跟踪此更改的内容,并且可以在需要时将其还原。我也知道约翰也可能把他的资产交给其他人,如果我们想要恢复原状,那么这些资产真的会让事情变得复杂。

还有什么东西可以处理这个事件吗?

1 个答案:

答案 0 :(得分:0)

欢迎来到精彩的交易世界!在SQL中(假设MSSQL因为没有指定任何内容),您可以使用命令BEGIN TRANSACTION启动事务。然后,有两个关闭交易的选项:您可以COMMIT TRANSACTIONROLLBACK TRANSACTIONCOMMIT将更改保存到您的数据库,ROLLBACK还原所有在交易过程中所做的更改。

对交易做一些研究,我很确定你会找到你正在寻找的东西。