我试图使用以下查询来获取表中所有记录的最后更新日期和时间。带时间戳记的最后更新记录
SELECT SCN_TO_TIMESTAMP(ORA_ROWSCN),id FROM TABLE_NAME
对于有些表的显示结果正确,但对于其他人我得到了以下错误消息(具体我使用的是从这些自动生成的HR模式表)
ORA- 08181:指定数目不是有效的系统改变号
ORA-06512:在 “SYS.SCN_TO_TIMESTAMP”,第1行
- 00000 - “指定的数量不一个有效的系统更改号码“
*原因:提供的scn超出了有效scn的范围。 *操作:使用有效的scn。
为什么我收到此错误消息?在运行查询之前,我为同一个表运行了几个插入和更新查询。
谢谢
此外,最好有一个额外的列来跟踪数据的变化。 ORA_ROWSCN是非常不可行的,不适用于旧数据(例如您的情况)。 – GurV