能用rowid判断表中的记录的插入顺序吗?

能用rowid来判断一行的插入时间先后吗?

首先我查了一下empno为7934的rowid,然后将这行数据删除,之后往表中插入数据7000行。发现之前删除的位置被重用了。然后按照rowid排序输出empno,发现并不是从1到7000排序的。

如果删除了记录
那么,以后插入的记录就会用到以前的ROWID

SQL> select rowid from emp where empno=7934;
ROWID
--------------------
AAAR3dAAEAAAACXAAN

SQL> delete emp where empno=7934;

SQL> commit;

begin
for i in 1..7000 loop
insert into emp(empno) values(i);
end loop;
end;
/

SQL> select empno from emp where rowid =‘AAAR3dAAEAAAACXAAN‘;

EMPNO
----------
2585

SQL> select empno from emp order by rowid;

...省略很多行。。。
EMPNO
----------
657
658
659
660
1
2
3
4
5
6
7

时间: 2024-10-30 21:34:52

能用rowid判断表中的记录的插入顺序吗?的相关文章

mybatis 多条数据插入,判断表中是否含有将插入的数据,插入没有的数据。

多条数据,需要条件筛选之后插入到数据表: <insert id="insertExpectCardLabelInfo" parameterType="java.util.List">//插入表字段 INSERT INTO expect_know_label ( expect_know_label_id, user_id, expect_know_label_data_id, del_flag, create_time, create_user, upda

MySQL学习笔记-操作数据表中的记录

MySQL学习笔记-操作数据表中的记录 1.插入记录 INSERT INSERT [INTO] tbl_name [(col_name,...)] {VAULES|VALUE} ({expr|DEFAULT},...),(...),... 例,插入单条记录: mysql> USE testDatabase changed mysql> CREATE TABLE users(    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,   

判断表中是否存在记录的SQL语句

判断表中是否存在记录,我们惯常使用的语句是: select COUNT(*) from tableName where conditions 如果只是判断记录是否存在,而不需要获取实际表中的记录数,网上还有一种推荐做法: if exists (select * from tableName where conditions) select '1' else select '0' 通过返回值去判断是否存在. 据推荐,第二种方法效率高些,但使用profiler工具分析 通过where条件过滤出100

Sql Server删除数据表中重复记录 三种方法

本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use

操作数据表中的记录——SELECT (where表达式、GROUP BY、HAVING、LIMIT)

原文链接:http://www.ifyao.com/2015/01/26/%E6%93%8D%E4%BD%9C%E6%95%B0%E6%8D%AE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%AE%B0%E5%BD%95-select-where%E8%A1%A8%E8%BE%BE%E5%BC%8F%E3%80%81group-by%E3%80%81having%E3%80%81limit/ 操作数据表中的记录——SELECT一.查找记录1.语法: SELECT select_e

MySQL查询数据表中数据记录(包括多表查询)

MySQL查询数据表中数据记录(包括多表查询) MySQL查询数据表中数据记录(包括多表查询) 转自:http://www.baike369.com/content/?id=5355 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: select selection_list // 要查询的内容,选择哪些列 from table_list // 从什么表中查询,从何处选择行 where primary_

SQL语句删除表中所有记录的方法

如何用一条sql语句删除表中的所有记录,这里分享下我的方法.参考链接: sql语句如何删除重复记录?四种方法 sql语句如何删除重复记录?教程详解 TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作. 语法TRUNCATE TABLE name 参数name 是要截断的表的名称或要删除其全部行的表的名称. 注释TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度

MYSQL操作数据表中的记录

36:操作数据表中的记录插入记录  UPDATE更新记录(单表更新)  DELETE删除记录(单表删除)

MySQL学习14:操作数据表中的记录(二)

四查询记录 MySQL数据库中对于数据表中的记录最常用的就是记录的查询,操作数据表中的记录大都是记录的查询.查找 记录的语法结构为: SELECT select_expr [,select_expr ...] [ FROM table_refereneces [WHERE where_condition] [GROUP BY {col_name | position } [ASC | DESC],...] [HAVING where_condition] [ORDER BY {col_name