Oracle默认排序规则是什么? |
您所在的位置:网站首页 › 地质图案排序规则是什么 › Oracle默认排序规则是什么? |
问题
在不加 order by 的情况下,oracle 的默认排序规则是什么? — 按 ROWID 伪列递增排序。 示例: SELECT ROWID, S.* FROM DEPT S;
ROWID 的组成部分: -- AAAR3q AAE AAAACH AAA -- 数据对象编号+文件编号+块编号+行编号 ROWID 的其它作用 plsqldev 中检索出数据后更新在 plsqldev 或其它客户端工具中,一般在 select 后面加 for update ,对检索出的数据进行可视化更新,但其实将 ROWID 作为检索字段也可以达到相同的目的。 ROWID 虽然可以通过表检索,但不存表里面(所以是伪列,和 ROWNUM 一样),所以不支持删、改操作。 SELECT S.* FROM DEPT S FOR UPDATE; SELECT ROWID, S.* FROM DEPT S; 删除重复数据,保留一笔既然 ROWID 唯一标识一条记录,自然可以用来删除重复数据。 先造个数据: CREATE TABLE DEPT_REPEAT AS (SELECT * FROM DEPT); INSERT INTO DEPT_REPEAT (SELECT * FROM DEPT); SELECT ROWID, S.* FROM DEPT_REPEAT S ORDER BY S.DEPTNO;
如果要按 DEPTNO、DNAME、LOC 把 ROWDID 小的记录删除的话: DELETE FROM DEPT_REPEAT S WHERE S.ROWID IN (SELECT MIN(T.ROWID) FROM DEPT_REPEAT T GROUP BY T.DEPTNO, T.DNAME, T.LOC); |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |