第四板斧——将新的数据导入原表 将原产品信息表Products清空,并将临时表Products_temp中数据导入,最后删除临时表Products_temp。 delete Products 这样就完成了对表中重复记录的删除。无论表有多大,它的执行速度都是相当快的,而且因为几乎不用写语句,所以它也是很安全的。 小提示:上述方法中删除重复记录取决于创建唯一索引时选择的字段,在实际的操作过程中读者务必首先确认创建的唯一索引字段是否正确,以免将有用的数据删除。 ORACLE 在Oracle中,可以通过唯一rowid实现删除重复记录;还可以建临时表来实现...这个只提到其中的几种简单实用的方法,希望可以和大家分享(以表employee为例)。 SQL> desc employee Name Null? Type emp_id NUMBER(10) emp_name VARCHAR2(20) salary NUMBER(10,2) 可以通过下面的语句查询重复的记录: SQL> select * from employee; EMP_ID EMP_NAME SALARY 1 sunshine 10000 1 sunshine 10000 2 semon 20000 2 semon 20000 3 xyz 30000 2 semon 20000 SQL> select distinct * from employee; EMP_ID EMP_NAME SALARY 1 sunshine 10000 2 semon 20000 3 xyz 30000 SQL> select * from employee group by emp_id,emp_name,salary having count (*)>1 EMP_ID EMP_NAME SALARY 1 sunshine 10000 2 semon 20000 SQL> select * from employee e1 where rowid in (select max(rowid) from employe e2 where e1.emp_id=e2.emp_id and e1.emp_name=e2.emp_name and e1.salary=e2.salary); EMP_ID EMP_NAME SALARY 1 sunshine 10000 3 xyz 30000 2 semon 20000 2. 删除的几种方法: (1)通过建立临时表来实现 |
正在阅读:快速删除重复记录(Oracle&SqlServer)快速删除重复记录(Oracle&SqlServer)
2005-08-31 10:03
出处:
责任编辑:moningfeng
键盘也能翻页,试试“← →”键