- 6
- 0
- 约1.26万字
- 约 11页
- 2015-07-21 发布于安徽
- 举报
Oracle中用Rowid查找和删除重复记录
平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录。
下面总结一下几种查找和删除重复记录的方法(以表CZ为例):
表CZ的结构如下:
SQL desc cz Name Null? Type C1 NUMBER(10) C10 NUMBER(5) C20 VARCHAR2(3)
删除重复记录的方法原理:
(1).在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。
(2).在重复的记录中,可能所有列的内容都相同,但rowid不会相同,所以只要确定出重复记录中那些具有最大rowid的就可以了,其余全部删除。
重复记录判断的标准是:
C1,C10和C20这三列的值都相同才算是重复记录。
经查看表CZ总共有16条记录:
SQLset pagesize 100SQLselect * from cz; C1 C10 C20 1 2 dsf 1 2 dsf 1 2 dsf 1 2 dsf
您可能关注的文档
最近下载
- PILZ 小型安全PLC PNOZ mB0 可编程控制器.pdf VIP
- 2023浙江杭州市滨江区人民法院司法雇员招聘(11人)笔试备考试题及答案解析.docx VIP
- 中国环境监测仪器与服务市场规模与政府园区需求研究.docx VIP
- 合康HID618A系列压伺服专用驱动器使用说明书用户手册.pdf
- 小学英语3000高频词分类大全.docx VIP
- (高清版)DB3301∕T 0461-2024 电动自行车停放充电场所消防安全管理规范.pdf VIP
- 葵花籽剥壳机设计.doc VIP
- 瓜子壳脱离机.docx VIP
- 2026年高考高三统编版历史二轮专题复习策略讲座.pptx VIP
- 第二届山东省职业技能大赛(网络安全赛项)备考试题(附答案).docx VIP
原创力文档

文档评论(0)