ORACLE中删除重复记录文本
6页1、ORACLE中删除重复记录平时工作中可能会遇见当试图对库表中的某一列或几列创建唯一索引时,系统提示 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 2 3 c
2、he 1 2 dsf 1 2 dsf 1 2 dsf 1 2 dsf 2 3 che 2 3 che 2 3 che 2 3 che 3 4 dff 3 4 dff 3 4 dff 4 5 err 5 3 dar 6 1 wee 7 2 zxc20 rows selected.1.查找重复记录的几种方法:(1).sqlselect * from cz group by c1,c10,c20 having count(*) 1; c1 c10 c20- - - 1 2 dsf 2 3 che 3 4 dff(2).sqlselect distinct * from cz; c1 c10 c20- - - 1 2 dsf 2 3 che 3 4 dff(3).sqlselect * from cz a where rowid=(select max(rowid) from cz where c1=a.c1 and c10=a.c10 and c20=a.c20); c1 c10 c20- - - 1 2 dsf 2 3 che 3 4 dff2.删除重复记录的几种方法:(1).适用于有大量
《ORACLE中删除重复记录文本》由会员l****分享,可在线阅读,更多相关《ORACLE中删除重复记录文本》请在金锄头文库上搜索。
龙湖别墅项目方案解读
鸿达_天津城市广场商业城市综合体项目整体策划研究报告
黑弧奥美-保利西海岸XXXX年度推广
高宁哲学思维与领导艺术(北师大)
黄-文科班《综合探究聚焦文化竞争力》
食物中毒概述幻灯片ppt-欢迎各位领导、专家莅临指导
风险的测度、定价与绩效评估
香山·碧海晴空推广构想
项目管理培训_项目框架思维方法
项目管理石油大学
项目管理的应用-提升企业管理水平
项目十复合肥料与复混肥料生产
项目六车身测量
项目二 图根控制测量
项目八-PowerPoint演示文稿
电信天翼校园推广案
组织及组织工作
管理心理学主
项目05 导游人员的语言技能
管理心理学第7讲领导者心理
2024-03-27 19页
2024-03-27 10页
2024-03-27 23页
2024-03-27 7页
2024-03-27 27页
2024-03-27 8页
2024-03-27 18页
2024-03-27 18页
2024-03-27 5页
2024-03-27 22页