oracle表里每行纪录有个隐含的列,叫rowid,他代表数据存放的逻辑位置,可对应到物理位置
当插入数据时,是依次分配的,一次按时间排序,但是这个rowid好像不是可以简单排序的
select rowid,a,b from table1;
------
delete后应commit
----------------------
oracle在delete后会将原数据块在低于参数pctfree之后将这个数据块置于 自由块列表,以后插入的数据会保存到这些自由块列表中,并不一定会再分给原表,更不用说原来的数据了,你应该是没commit,数据就根本没真正删除,就又insert了
当插入数据时,是依次分配的,一次按时间排序,但是这个rowid好像不是可以简单排序的
select rowid,a,b from table1;
------
delete后应commit
----------------------
oracle在delete后会将原数据块在低于参数pctfree之后将这个数据块置于 自由块列表,以后插入的数据会保存到这些自由块列表中,并不一定会再分给原表,更不用说原来的数据了,你应该是没commit,数据就根本没真正删除,就又insert了
解决方案 »
- 在oracle 10g 中怎样从一个视图中定时的把新数据添加到一个表中?
- 主进程connect数据库,然后fork N个子进程,那这些子进程对数据库的操作是串行的还是并行的?
- oracle存储过程调用存储过程的问题 ORA-00947
- oracle database express怎么样?
- oracle基础问题!急
- 孙德棣38岁中秋辞世 IT人过劳状态再引话题
- 如何连接远程oracle数据库,能解决者送高分。
- 高分赠送,被逼无奈了!!!不够在开继续给
- 请问oracle的附加数据库问题。 up有分!
- 一个简单问题,寻求帮忙
- ORACLE pl/sql 中没有没有办法知道执行的时间,I/O统计信息
- 如何在 sql plus里面运行一个存储过程?
如果你想排序,应该定好你的排序标准,必要的时候添加一个字段来进行标记。
如果要彻底删除记录,需要使用truncate