我想得到我在Oracle 11g Express数据库中插入到表中的最后一行。
我该怎么做?
我该怎么做?
解决方法
在表中没有“最后”行,因为Oracle表没有排序的概念。
但是,假设您要查找最后插入的主键,并且该主键是递增的数字,则可以执行以下操作:
- select *
- from ( select a.*,max(pk) over () as max_pk
- from my_table a
- )
- where pk = max_pk
如果您创建了每一行的日期,那么这个列将被创建为:
- select *
- from ( select a.*,max(created) over () as max_created
- from my_table a
- )
- where created = max_created
或者,您可以使用聚合查询,例如:
- select *
- from my_table
- where pk = ( select max(pk) from my_table )
这里有一个SQL Fiddle来演示。