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

如何在oracle数据库中查找最后一条插入的数据,第1张

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

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 t1rowid=(select max(rowid) from tbl t2)

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

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

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

实现思路:如果是正序的取出最后一条,那么就是倒叙取出第一条。所以拍下序,之后取出第一条就可以了。

sql:select top 1 username from tablename order by username desc ;

以上就是取出来第一条记录,如果想取出来最后一条:sql:select top 1 username from tablename order by username asc;

希望您能采纳

N-M条记录

1

select top m into 临时表(或表变量) from tablename order by columnname -- 将top m笔插入

set rowcount n

select from 表变量 order by columnname desc

2

select top n from

(select top m from tablename order by columnname) a

order by columnname desc

3

如果tablename里没有其他identity列,那么:

select identity(int) id0, into #temp from tablename

取n到m条的语句为:

select from #temp where id0 >=n and id0 <= m

如果你在执行select identity(int) id0, into #temp from tablename这条语句的时候报错,那是因为你的DB中间的select into/bulkcopy属性没有打开要先执行:

exec sp_dboption 你的DB名字,'select into/bulkcopy',true

4

如果表里有identity属性,那么简单:

select from tablename where identitycol between n and m

那必须有插入时间或者是主键,方法雷同,否则无法查询。

如表中有自增主键,可用以下语句

select  from 表名 where 主键字段 in (select max(主键字段) from 表名);

如表中有插入时间,可用以下语句

select  from 表名 where 插入时间 in (select max(插入时间) from 表名);

select 工号、卡号、消费时间 from A

where 消费时间 in (select max(消费时间) FROM A group by 工号)

得到每个工号最后一条消费记录

以上就是关于如何在oracle数据库中查找最后一条插入的数据全部的内容,包括:如何在oracle数据库中查找最后一条插入的数据、求助:SQL怎样取数据库最后一条数据、我想查询数据表的最后一条记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9828501.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存