1.重复记录多,使用中间表,把不重复的记录挑出来,truncate table后再插回来。
2.Delete ppsystem.DISPATCHMATERIAL t where t.rowid!=(select max(t1.rowid) from ppsystem.DISPATCHMATERIAL t1
where t1.factory_code=t.factory_code
and t1.dispatch_date=t.dispatch_date
and t1.issue_no=t.issue_no
and t1.material_code=t.material_code)
select d.factory_code,d.dispatch_date,d.issue_no,d.material_code,count(*) from ppsystem.DISPATCHMATERIAL d
group by d.factory_code,d.dispatch_date,d.issue_no,d.material_code
having count(*) >1
alter table PpSYSTEM.DISPATCHMATERIAL
add constraint pk_DISPATCHMATERIAL primary key (FACTORY_CODE, DISPATCH_DATE, ISSUE_NO, MATERIAL_CODE)
using index
tablespace indx;
alter table PPSYSTEM.DISPATCHMATERIAL
drop constraint PK_DISPATCHMATERIAL cascade;
drop index ppsystem.pk_DISPATCHMATERIAL;
本文介绍了一种通过SQL语句来解决数据库中重复记录的问题的方法,包括使用DELETE语句结合子查询来删除重复项,并通过创建唯一约束来预防未来的重复录入。

被折叠的 条评论
为什么被折叠?



