`
insertyou
  • 浏览: 864514 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

由于在经过多次对成绩进行导入。导致了正方系统成绩内部产生了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 左右。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics