Oracle数据库删除表中重复记录的常见方法


方法一:

delete from tb_channel a where a.rowid in

(select max(b.rowid) from tb_channle b

where a.policyno=b.policyno and a.classcode=b.classcode);

——这一办法在数据记录超过10万时一般都会变得很慢。

方法二:

--建立临时表,--清空原表,--插回原表,如下例:

create table temp_emp as (select distinct * from employee) ;

truncate table employee;

insert into employee select * from temp_emp;

——这一办法适用于较大的表的情况。因为是块操作,对应于大表效率会好很多

方法三:

--建立新表,--去重复放入,--删除原表,如下例:

select distinct * into new_table from old_table

order by 主 键

drop table old_table

exec sp_rename new_table,old_table;

——这一办法适用于较大的表的情况。因为是块操作,对应于大表效率会好很多

本文作者:



相关阅读:
WordPress 评论者超链接实现重定向跳转的方法
基于嵌入式Windows CE的远程数据采集系统
海阳顶端网进百度blog必须输入密码的vbscript代码
JS实例代码解析:以实例方式学习数组知识
音乐播放用的的几个函数
ORACLE报警日志如何查看?
批处理加密.bat
adodb与adodb_lite之比较
LPI 认证考试介绍
PHP学习宝典-第七章
PHP调用.net的webservice 中文乱码解决方案
Discuz6.1.0升级到Discuz7.0.0图文教程
用表单来提交sql(转)3
asp.net 数据库的连接和datatable类
快速导航

Copyright © 2016 phpStudy |