关于Oracle数据库的学习记录:
二十七、数据伪列ROWID
在进行表中数据保存的时候,除了用户可以见到的数据列之外,所有表中的数据行都会有一个唯一的物理地址编号,这种编号就可以通过ROWID查到
范例:观察ROWID
SELECT ROWID,deptno,dname,loc FROM dept;
下面以"AAAR3qAAEAAAACHAAA"ROWID为例介绍一下它的组成
**数据的对象编号:AAAR3q
**数据保存文件编号:AAE
**数据保存的快好:AAAACH
**数据的保存行号:AAA
范例:利用ROWID找出记录
SELECT * FROM dept WHERE ROWID='AAAR3qAAEAAAACHAAA';
一定要记住:任何情况下,都可以通过ROWID确定唯一的一行记录
面试题:请将表中的重复记录只保存一条
有一张数据表,由于最初的设计漏洞并且在使用之也没有进行一些合理的验证,导致表中出现了大量的重复记录信息,题目准备如下:
范例:将dept表复制为mydept表
CREATE TABLE mydept AS SELECT * FROM dept;
范例:在mydept表里面增加一系列的重复数据
INSERT INTO mtdept(deptno,dname,loc) VALUES(10,'ACCOUNTING','NEW YORK');
INSERT INTO mtdept(deptno,dname,loc) VALUES(10,'ACCOUNTING','NEW YORK');
INSERT INTO mtdept(deptno