【发布时间】:2010-04-21 10:12:24
【问题描述】:
我想从表中选择最近一个月更新或添加的记录(表没有任何日期时间字段,我无法更改表结构)。 是否可以为此编写一个sql查询?如何从表中获取这些记录。
问候, 库马尔
【问题讨论】:
标签: sql sql-server database sql-server-2005
我想从表中选择最近一个月更新或添加的记录(表没有任何日期时间字段,我无法更改表结构)。 是否可以为此编写一个sql查询?如何从表中获取这些记录。
问候, 库马尔
【问题讨论】:
标签: sql sql-server database sql-server-2005
如果您被允许使用触发器并添加额外的跟踪表(同时保持现有的表结构不变),这是可能的
显然,您将无法找出已经更改的内容,但这将使您能够想出一个解决方案来跟踪实施后所做的更改。
如果这有用,请告诉我,我可以为您提供更多详细信息。
【讨论】:
如果您使用的是 SQL Server 2008(或有能力升级),您可以查看使用 Change Data Capture 来跟踪何时对您的表进行了更改。此解决方案不涉及更改现有表,但您将进行数据库级别的更改。
如果无法升级到 2008,您可以创建一组更改跟踪表,并在进行更新时使用触发器来维护它们。
【讨论】:
如果你不能;
然后您需要编写一个 ssis 包,在每天结束时将有问题的表格与表格的副本(您前一天获取的)进行比较。然后,您将任何差异记录在新的审计表中。
【讨论】:
不,这是不可能的。 您需要通过将日期字段添加到表的结构中来跟踪它。 我们不能像你说的那样做。
【讨论】:
查询该表是不可能的。
您可以通过验证 Oracle 中的事务日志来获取该记录。但我不确定在 Sql Serevr 中。
【讨论】: