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

问题描述:

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

问候, 库马尔

如果你不能;

  1. 修改数据库以添加时间戳列。
  2. 添加另一个表,它作为一个审计日志,从触发饲喂原表

然后,你需要编写,在每天结束时,表中问题比较的SSIS包到表格的副本(前一天你拿的)。然后,您可以在新的审计表中记录任何差异。

没有这是不可能的。 您需要通过将日期字段添加到表的结构来跟踪该情况。 我们不能照你说的去做。

,如果你被允许使用触发器和添加额外的跟踪表(同时保留现有的表结构不变)

很明显,你将无法找出已经改变了,但是这将使你有可能提出一个解决方案来追踪一旦实施后发生的变化。

如果这是有用的,那么让我知道,我可以给你更多的细节。

+0

thanx您的建议。但我们不使用任何种类的触发器是否还有其他场景可以做到这一点? – kumar 2010-04-21 10:41:05

+1

在这种情况下,你不可能做你想做的事情,你不能幻想无数的数据。如果你在SQL 2008中,你可能能够启用更改跟踪功能,但这是对此的最后一丝希望。 – 2010-04-21 11:03:28

+0

我不能在空中魔法数据。但我会尝试。在这种情况下,是否可以使用getDate()或sys.objetcs或@@ IDENTITY从表中获取最近一个月更新的记录,我可以使用它们还是全部? – kumar 2010-04-21 12:20:32

如果您使用的是SQL Server 2008(或者有能力升级),那么您可以看看如何使用Change Data Capture来跟踪对表格所做的更改。此解决方案不会涉及更改现有表,但是您将进行数据库级更改。

如果升级到2008不是一个选项,您可以创建一组更改跟踪表并使用触发器在进行更新时对其进行维护。

查询该表是不可能的。

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