查询从表中查找过去一个月更新或添加的记录?

时间:2010-04-21 10:12:24

标签: sql sql-server database sql-server-2005

我想从表中选择最近一个月更新或添加的记录(表没有任何datetime字段,我无法更改表结构)。 是否可以为此编写SQL查询?如何从表中获取这些记录。

的问候, 库马尔

5 个答案:

答案 0 :(得分:2)

如果允许您使用触发器并添加额外的跟踪表(同时保持现有的表结构不变),则可以使用

显然,您无法找到已经更改的内容,但这可以让您找到一个解决方案来跟踪一旦实施后所做的更改。

如果这很有用,请告诉我,我可以为您提供更多详细信息。

答案 1 :(得分:1)

如果您使用的是SQL Server 2008(或具有升级功能),您可以查看使用Change Data Capture跟踪何时对表进行更改。此解决方案不涉及更改现有表,但您将进行数据库级更改。

如果无法升级到2008,则可以创建一组更改跟踪表,并在进行更新时使用触发器来维护它们。

答案 2 :(得分:0)

不可能。 您需要通过将日期字段添加到表的结构来跟踪它。 我们不能像你说的那样做。

答案 3 :(得分:0)

如果你不能;

  1. 修改数据库以添加时间戳列。
  2. 添加另一个充当审核日志的表,从原始表中的触发器提供
  3. 然后你需要编写一个ssis包,在每天结束时将相关表格与表格的副本(你前一天所用的)进行比较。然后,您可以在新的审计表中记录任何差异。

答案 4 :(得分:0)

查询表格是不可能的。

您可以通过验证Oracle中的事务日志来获取该记录。但我不确定在Sql Server中。