有以下几个方法,供您参考。
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怎样取数据库最后一条数据、我想查询数据表的最后一条记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)