gpt4 book ai didi

sql-server-2016 - 使用 SQL Server 2016 时态表查询已删除记录的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 07:19:44 25 4
gpt4 key购买 nike

我正在查看 SQL Server 2016 时态表,但找不到任何有效的方法来查询现在已删除的所有历史记录。

我不喜欢软删除或移动到“已删除项目表”,因为我觉得时态表是多余的。

这可以通过时态表以有效的方式实现吗?

最佳答案

时态表旨在为您提供数据的时间点 View ,而不是状态 View - 它实际上并不了解状态。没有任何内容向用户公开以确定行如何到达时间历史表中。

如果您没有临时暂停/停止时态表上的系统版本控制,那么您只需要找到历史表和事件表之间的增量。历史表中所有在事件表中没有对应行的剩余行都是删除行。

例如,如果您有 tblCustCalls 并且它通过 tblCustCallsHistory 启用了时间,例如 SELECT * FROM tblCustCallsHistory WHERE ID NOT IN (SELECT ID FROM tblCustCalls) .在本例中,ID 是主键。如果表非常大但基本概念没有改变,您可以优化 TSQL。

关于sql-server-2016 - 使用 SQL Server 2016 时态表查询已删除记录的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37151156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com