我想从表中选择最近一个月更新或添加的记录(表没有任何datetime字段,我无法更改表结构)。 是否可以为此编写SQL查询?如何从表中获取这些记录。
的问候, 库马尔
答案 0 :(得分:2)
如果允许您使用触发器并添加额外的跟踪表(同时保持现有的表结构不变),则可以使用
显然,您无法找到已经更改的内容,但这可以让您找到一个解决方案来跟踪一旦实施后所做的更改。
如果这很有用,请告诉我,我可以为您提供更多详细信息。
答案 1 :(得分:1)
如果您使用的是SQL Server 2008(或具有升级功能),您可以查看使用Change Data Capture跟踪何时对表进行更改。此解决方案不涉及更改现有表,但您将进行数据库级更改。
如果无法升级到2008,则可以创建一组更改跟踪表,并在进行更新时使用触发器来维护它们。
答案 2 :(得分:0)
不可能。 您需要通过将日期字段添加到表的结构来跟踪它。 我们不能像你说的那样做。
答案 3 :(得分:0)
如果你不能;
然后你需要编写一个ssis包,在每天结束时将相关表格与表格的副本(你前一天所用的)进行比较。然后,您可以在新的审计表中记录任何差异。
答案 4 :(得分:0)
查询表格是不可能的。
您可以通过验证Oracle中的事务日志来获取该记录。但我不确定在Sql Server中。