如何从表中删除自日期时间X以来未通过查询更新或创建的所有记录

时间:2012-11-20 19:05:37

标签: sql sql-server oracle

如何通过查询删除自指定日期时间以来尚未更新或创建的表中的所有记录? 这适用于SQL Server 2008和Oracle。

1 个答案:

答案 0 :(得分:3)

虽然我同意在评论中指出没有神奇的解决方案。可能有一种方法可以实现您的需求。如果您的数据库备份与日期和时间相对应,则可以将该备份还原到单独的数据库,然后进行一些比较。

您可以使用SSIS编写一些任务来比较数据并根据您的标准进行删除。还有各种第三方工具,如RedGate和Idera,可以在两个单独的数据库之间进行数据比较。

Merge语句为您提供匹配和非匹配数据的选项,并且可以在连接中用于在找到确切的行版本时提供指令(例如删除)。

我知道你希望通过一个简单的查询来完成你需要的东西,但是在盒子外面思考一下可能仍然可以帮助你得到你需要的东西。

所有这些都要求您从相关日期/时间进行备份。