Chinaunix首页 | 论坛 | 博客
  • 博客访问: 401578
  • 博文数量: 79
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 897
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-10 23:22
文章分类

全部博文(79)

文章存档

2011年(1)

2010年(6)

2009年(39)

2008年(33)

我的朋友

分类: Oracle

2010-08-18 10:15:48

平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录。

下面总结一下几种查找和删除重复记录的方法(以表CZ为例):
表CZ的结构如下:
SQL> desc cz
Name Null? Type
----------------------------------------- -------- ------------------

C1 NUMBER(10)
C10 NUMBER(5)
C20 VARCHAR2(3)

删除重复记录的方法原理:
(1).在中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在中的哪一个数据文件、块、行上。

(2).在重复的记录中,可能所有列的内容都相同,但rowid不会相同%

阅读(818) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~