select * from table_name where 条件  --返回指定条件的行
select * from table_name where rownum=1   --返回表中的第一行
select * from table_name where rowid in (select max(rowid) from table_name);
   --返回刚插入的行,也即最后一行

解决方案 »

  1.   

    1、select * from table_name where rownum<2
    2、select * from table_name where rowid=(select max(rowid) from table_name)
    3、不能返回最后修改行的记录吧
      

  2.   

    插入记录可以找到
    select * from table_name where rowid=(select max(rowid) from table_name)但修改语句最后的行,不能找到,物理地址已改变了,不会是最大的rowid
      

  3.   

    rownum和rowid都不能做为新旧的判断标准,这种情况在sqlserver中如果没有一个主键,有管理器里都不让修改重复的记录
    所以最好加个主键,有百利而无一害。
      

  4.   

    选定行:      是要根据你的条件来的,而不仅仅是rownum=1
    刚插入行:    根据max(rowid)
    最后修改行:  不大清楚,关注
      

  5.   

    在调用select * from table_name where rownum 时候只能返回第一行,如果想要返回其他的行,比如,第三行,第25-35行,的时候,怎么写?
      

  6.   

    select * from (
    select rownum rid,a.* from table_name a 
    where rownum<40)
    where rid =3 or rid between 25 and 35