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