怎么用SQL语句取数据库的最后一条纪录?

wdhs 2002-11-16 06:31:37
怎么用SQL语句取数据库的最后一条纪录?(不要取出一大坨数据然后让游标走到底)

另:直接用SQL取最后一条记录与下述方法比较,哪个性能好:
建一个表T_1,保存各个表的最后一条记录的标识,然后Update的各个表的同时更新T_1的对应记录,读一个表的最后一条记录时先读T_1。
...全文
1250 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdhs 2002-11-21
  • 打赏
  • 举报
回复
谢谢各位
我主要目的是在程序实现自增(或叫产生一个序列),而不用数据库的,
原因:
1. 用Sybase 时整怕了,而且导主从表数据时好麻烦;
2. 想生成流水账号之类的东西
双子涂鸦 2002-11-21
  • 打赏
  • 举报
回复
我总觉着没有太大的意义
你非要这样做,那就另建一个表保存当前最大值好了
penitent 2002-11-21
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1188/1188814.xml?temp=.4477503
penitent 2002-11-21
  • 打赏
  • 举报
回复
自增序列用序列+触发器可以实现
beckhambobo 2002-11-18
  • 打赏
  • 举报
回复
对,创建一个序列比较实现id_sequence

select * from test id_sequence=(select max(id_sequence) from text)
zpwly 2002-11-18
  • 打赏
  • 举报
回复
关注
black_snail 2002-11-17
  • 打赏
  • 举报
回复
what's the definition of 最后一条记录 ?
it means the last record inserted or updated ?

I guess it's very hard to do it .

But anyway
select * from table1 where rowid=(select max(rowid) from table1)
will show you the record which has maximum rowid in common situation , it should be the last record inserted .
CHENGTOM 2002-11-17
  • 打赏
  • 举报
回复
不知道你说的最后一条记录是什么意思
最后插入的还是别的,楼上的兄弟说得很正确
关于top n的问题,itpub.net说得很多,建议你去那里看看,高手好多。
good,luck
penitent 2002-11-17
  • 打赏
  • 举报
回复
最后插入的记录不一定放在最后,rowid也不一定最大,
如果真有这个必要,你可以建一个序列,让它产生新的值,通过程序或触发器放到表里,这样最后一条记录的该值肯定就最大了。
jiezhi 2002-11-16
  • 打赏
  • 举报
回复
不过,插入新的记录时,并不一定插在末尾。你还是再建立一个表
jiezhi 2002-11-16
  • 打赏
  • 举报
回复
select * from table1 where rowid=(select max(rowid) from table1)
qqqdong 2002-11-16
  • 打赏
  • 举报
回复
select * from table order by 倒叙 rownum = 1

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧