在数据库中有一个隐藏的rowid,它在表中是唯一的,它并不是一个简单的数字顺序号,而是一个系统自己识别的编码,具体多少位我记不得了,在oracle中你可以select rowid from 表名 where 一条记录的识别条件,当然你可以先在数据库中对一条记录的rowid进行读取,然后你再删除这条记录重新插入一条记录,看看当前插入的记录的rowid和删掉的记录的rowid是不是相同,最好能在删除之前按照rowid排序,当插入新的纪录是你就可以看到rowid是不是递增的,我这边环境不是很方便测试,你可以试试看

解决方案 »

  1.   

    在Access与SQL Server中,用户如果想查询表记录的物理顺序号,
    应该在表结构中显示设计自动递增列;
    在Oralce中可直接查询隐式伪列RowID,
    即如楼上说的:
    SELECT RowID FROM table_name;
      

  2.   

    谢谢二位,Oracle中的Rowid下午我会搞一下,不过如果在Access和Sql中使用数据库时没有自己定义自增列,就是说,假如我向数据库中添加10条数据,那等我无排序查询它的时候为啥得到的结果总是按照我录入数据的顺序呢?可见,数据库还是默认有一个类似于“物理顺序号”的机制吧?请各位帮忙再考虑一下。
      

  3.   

    SQL中的函数NEWID()应该就是你想找到的答案,
    具体你查看一下SQL的联机帮助