oracle如何获得新插入记录的id


1、对于提交(最后一次操作commit了)的话可以查询那个提交段
SELECT 列名1,列名2……
FROM 表名 VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE where 
VERSIONS_STARTTIME IS NOT null ORDER BY VERSIONS_STARTTIME DESC;
查出来的第一条就是最后改变的数据

2、如果表里面有序列或固定的排序字段可按倒排序后取第一条
where rownum<2 order by 排序字段 desc

3、还有另外一种办法就是利用ORACLE伪列rowid
select * from tbl t1 where t1.rowid=(select max(rowid) from tbl t2)

4、在redo log中找到对应相关的表的插入语句,但是这样找到的是sql语句,而不是数据。查redo log得使用log miner工具

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM