当前位置:知识百问>生活百科>"oracle"中rowid怎么用?

"oracle"中rowid怎么用?

2023-05-27 19:40:16 编辑:join 浏览量:636

ROWID是一种数据类型,它使用基于64为编码的18个字符来唯一标识一条记录物理位置的一个ID,类似于Java中一个对象的哈希码,都是为了唯一标识对应对象的物理位置,需要注意的是ROWID虽然可以在表中进行查询,但是其值并未存储在表中,所以不支滚肢槐持增删改操作,下面看个例子:

[html] view plain copy

SELECT ROWNUM,ROWID,empno,ename,job FROM emp WHERE ROWNUM <= 5;  

可以看到ROWID确实由18个字符组成,组成结构如下:

数据对象编号    文件编号    块编号    行编号    

OOOOOO    FFF    BBBBBB    RRR    

[html] view plain copy

CREATE TABLE dept_bak AS SELECT * FROM dept;  

INSERT INTO dept_bak SELECT * FROM dept;  

很明显,数据有重复的,但是ROWID肯定不会重复的,那么就可以利用这个特性去重,简单示例代码如下:

[html] view plain copy

DELETE FROM dept_bak WHERE ROWID NOT IN( SELECT MIN(ROWID) FROM dept_bak GROUP BY 饥裤DEPTNO);  

标签:oracle,rowid

版权声明:文章由 知识百问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhshbaiwen.com/life/114312.html
热门文章