删除重复记录。

来源:互联网 发布:吉林省事业编通用知 编辑:程序博客网 时间:2024/06/07 01:47

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;

原创粉丝点击