标签: sql oracle oracle10g
我想查找在特定日期之后更新但不包含update_date列的记录。
update_date
在搜索过程中,我发现Oracle 10g现在可以使用ORA_ROWSCN。
ORA_ROWSCN
SELECT ORA_ROWSCN, last_name FROM employees WHERE employee_id = 188;
但我认为它对特定行有用。
请告诉我应该如何实施?
请帮助
答案 0 :(得分:1)
如果您需要此信息,则应在表格中添加createdAt和updatedAt列。对于甚至半生产系统中的任何表格来说,这些都是好主意,所以这些信息很容易获得。
createdAt
updatedAt
您还应该进行备份,这可用于识别已更改的内容。 Oracle审计表是另一个可能有用的功能。
使用ora_rowscn的方式存在已知问题。 Here是一个讨论。
ora_rowscn
当然,如果尚未实施,正确的列,备份和审核对现在没有帮助。函数scn_to_timestamp()可用于将内部scn编号转换为时间戳。阅读它here。但是,这应被视为一种绝望措施。使用它应该鼓励您实现更可靠的方法来跟踪数据库更改。
scn_to_timestamp()