我正在查看SQL Server 2016时态表,找不到任何有效的方法来查询现在已删除的所有历史记录。
我不想软删除或移动到“已删除项目表”,因为我觉得临时表是多余的。
可以使用时态表以有效的方式实现这一点吗?
临时表旨在为您提供数据的时间点视图,而不是状态视图-它实际上无法理解状态。没有任何内容可供用户确定行如何到达时间历史表。
如果您没有临时在临时表上暂停/停止系统版本控制,那么您只需要找到历史表和活动表之间的增量即可。历史记录表中所有剩余的行在活动表中均没有对应的行将被删除。
例如,如果您有tblCustCalls,并且已使用tblCustCallsHistory将其启用为临时性,则类似于SELECT * FROM tblCustCallsHistory WHERE ID NOT IN (SELECT ID FROM tblCustCalls)
。在此示例中,ID是主键。如果表很大但基本概念不变,则可以优化TSQL。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句