我能否查出对 Oracle 数据库中的表执行最后一条 INSERT、UPDATE 或 DELETE 语句的时间?如果是,如何查明?
一点背景知识:Oracle 版本是 10g。我有一个定期运行的批处理应用程序,从单个 Oracle 表中读取数据并将其写入文件中。如果自上次作业运行以来数据没有更改,我想跳过此操作。
该应用程序是用 C++ 编写的,并通过 OCI 与 Oracle 进行通信。它使用“普通”用户登录 Oracle,因此我无法使用任何特殊的管理内容。
编辑:好的,“特殊管理人员”并不是一个很好的描述。我的意思是:除了从表中进行选择和调用存储过程之外,我什么也做不了。遗憾的是,如果想在 2010 年之前完成,更改数据库本身的任何内容(例如添加触发器)都不是一个选择。
我参加这个聚会确实迟到了,但我是这样做的:
SELECT SCN_TO_TIMESTAMP(MAX(ora_rowscn)) from myTable;
对于我的目的来说,它已经足够接近了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)