如何在oracle数据库中查找最后一条插入的数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在oracle数据库中查找最后一条插入的数据?相关的知识,希望对你有一定的参考价值。

参考技术A

有以下几个方法,供您参考。

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工具。

这是几项常用的方法,希望我的回答能给您带来帮助。

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

Oracle
的临时表的
处理机制,

SQL
Server
的不一样。
假如你的临时表的结构不是每次执行都发生变化的话
那么就是事先
通过
CREATE
GLOBAL
TEMPORARY
TABLE
语句,把临时表建立好。
存储过程里面,就根据需要,
执行
INSERT
/
SELECT
之类的操作就可以了
参考技术A create
procduce
test
is
isql
varchar2(200);
dptable
varchar2(100):='drop
table
test';
begin
isql:='create
global
temporary
table
test
(sid
int,sname
varchar2(20))
on
commit
delete
rows';
execute
immediate
isql;
--创建临时表
insert
into
test
values
(1,'abc');
execute
immediate
dptable;
---删除临时表
end;
-------------------
对于oracle
临时表在存储过程中调用,我是觉得这视乎没什么意义,oracle
提供在数据库里预定义临时表,只有在调用的时候才会在临时表空间里分配空间,也就是说你可以提前在数据库里创建临时表,然后再到存储过程里直接调用临时表就行了

以上是关于如何在oracle数据库中查找最后一条插入的数据?的主要内容,如果未能解决你的问题,请参考以下文章

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

oracle中只读取一条数据,怎么写

SQLite 如何查询最后一条数据?

数据库中如何查询表的最后一条记录?

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

oracle一对多的表数据查询 ,多表显示对应的最后一条数据