正方系统-成绩表-删除重复记录

来源:互联网 发布:udacity网络爬虫 编辑:程序博客网 时间:2024/06/11 23:12

由于在经过多次对成绩进行导入。导致了正方系统成绩内部产生了1个学生多条重复成绩记录的情况。

为了删除重复记录,可以经过以下3步:

(1)创建一个和CJB一样结构的表如:CJB_090324

create table CJB_090324
(
  XN       VARCHAR2(10),
  XQ       NUMBER(1),
  XKKH     VARCHAR2(50),
  XH       VARCHAR2(20),
  XM       VARCHAR2(30),
  KCMC     VARCHAR2(80),
  QZXS     NUMBER(3,1),
  XF       VARCHAR2(5),
  CJ       VARCHAR2(8),
  ZSCJ     NUMBER(5,1),
  JD       NUMBER(5,1),
  BZ       VARCHAR2(120),
  XGSJ     VARCHAR2(40),
  XGS      VARCHAR2(20),
  CXBJ     NUMBER(1),
  PSCJ     VARCHAR2(8),
  QMCJ     VARCHAR2(8),
  SYCJ     VARCHAR2(8),
  BKCJ     VARCHAR2(8),
  CXCJ     VARCHAR2(8),
  TJ       VARCHAR2(1),
  KCXZ     VARCHAR2(20),
  TJBZ     NUMBER(1),
  TZF      VARCHAR2(20),
  TZFJD    NUMBER(3,1),
  KCDM     VARCHAR2(20),
  CXXNXQ   VARCHAR2(12),
  QZCJ     VARCHAR2(8),
  FXBJ     VARCHAR2(10),
  JF       NUMBER,
  KCGS     VARCHAR2(20),
  XSQR     VARCHAR2(4),
  BZXX     VARCHAR2(150),
  DXQJL    VARCHAR2(2),
  BKCJ_TZF VARCHAR2(8),
  BKCJ_BZ  VARCHAR2(10),
  LLCJ     VARCHAR2(20),
  LLZSCJ   VARCHAR2(20),
  XMDM     VARCHAR2(100),
  XMMC     VARCHAR2(50),
  QMCJ_BF  VARCHAR2(20),
  GAXS     VARCHAR2(20)
)

 

(2)把原成绩表中的数据导入到新表CJB_090324中。原理很简单。

  insert 语句配合 select语句连用。

  关键是用select  语句的“distinct” 关键字,在进行select 查询的时候就过滤掉了重复记录。因此写入中间表“CJB_090324”的就是正确的唯一记录。

语句如下:


 insert into zfxfzb.CJB_090324(
XN,
XQ,
XKKH,
XH,
XM,
KCMC,
QZXS,
XF,
CJ,
ZSCJ,
JD,
BZ,
XGSJ,
XGS,
CXBJ,
PSCJ,
QMCJ,
SYCJ,
BKCJ,
CXCJ,
TJ,
KCXZ,
TJBZ,
TZF,
TZFJD,
KCDM,
CXXNXQ,
QZCJ,
FXBJ,
JF,
KCGS,
XSQR,
BZXX,
DXQJL,
BKCJ_TZF,
BKCJ_BZ,
LLCJ,
LLZSCJ,
XMDM,
XMMC,
QMCJ_BF,
GAXS
)
 select distinct 
XN,
XQ,
XKKH,
XH,
XM,
KCMC,
QZXS,
XF,
CJ,
ZSCJ,
JD,
BZ,
XGSJ,
XGS,
CXBJ,
PSCJ,
QMCJ,
SYCJ,
BKCJ,
CXCJ,
TJ,
KCXZ,
TJBZ,
TZF,
TZFJD,
KCDM,
CXXNXQ,
QZCJ,
FXBJ,
JF,
KCGS,
XSQR,
BZXX,
DXQJL,
BKCJ_TZF,
BKCJ_BZ,
LLCJ,
LLZSCJ,
XMDM,
XMMC,
QMCJ_BF,
GAXS
 from zfxfzb.CJB

(3)把原成绩表中的数据删除

delete from zfxfzb.CJB

(4)再重复(2)操作,只是把表名对调即可。

 

经过我的测试,18万条记录,打印耗时200s 左右。

 

 

原创粉丝点击