Oracle:在特定日期之后更新记录

时间:2016-09-24 12:54:05

标签: sql oracle oracle10g

我想查找在特定日期之后更新但不包含update_date列的记录。

在搜索过程中,我发现Oracle 10g现在可以使用ORA_ROWSCN

SELECT ORA_ROWSCN, last_name FROM employees WHERE employee_id = 188;

但我认为它对特定行有用。

请告诉我应该如何实施?

请帮助

1 个答案:

答案 0 :(得分:1)

如果您需要此信息,则应在表格中添加createdAtupdatedAt列。对于甚至半生产系统中的任何表格来说,这些都是好主意,所以这些信息很容易获得。

您还应该进行备份,这可用于识别已更改的内容。 Oracle审计表是另一个可能有用的功能。

使用ora_rowscn的方式存在已知问题。 Here是一个讨论。

当然,如果尚未实施,正确的列,备份和审核对现在没有帮助。函数scn_to_timestamp()可用于将内部scn编号转换为时间戳。阅读它here。但是,这应被视为一种绝望措施。使用它应该鼓励您实现更可靠的方法来跟踪数据库更改。