浏览 2227 次
锁定老帖子 主题:oracle中删除表中重复记录常见办法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-09
办法一: DELETE FROM TAB1 A WHERE A.ROWID > ( SELECT MIN(B.ROWID) FROM TAB1 B WHERE A.字段=B.字段 ); 其中子查询中的“WHERE A.字段=B.字段”用来写明重复条件。
——这一办法在数据记录超过10万时一般都会变得很慢。
办法二: --建立临时表,--清空原表,--插回原表,如下例: create table temp_emp as (select distinct * from employee) ; truncate table employee; insert into employee select * from temp_emp;
——这一办法适用于较大的表的情况。因为是块操作,对应于大表效率会好很多。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-11-10
不错 虽然没试过 但感觉应该行 呵呵
uping |
|
返回顶楼 | |