我需要将一个Excel导入数据库,在导入之前需校验每一行里有客户ID是否有效,也就是看在本系统里是否存在这个客户记录,请问采用什么方式校验效率比较高?补充:Excel里大概有几千条记录,系统里客户数大概有十多万条

解决方案 »

  1.   

    笨方法
    先创建一个表 再将excel表中的数据全部导入
    根据客户id来删除不要的。
    delete tablename t where not exists 
    (select 1 from 客户表 k where k.id=t.id) 
      

  2.   

    笨方法
    先创建一个中间表(跟你的目标表结构一致), 再将excel表中的数据全部导入中间表,
    然后 根据目标表的客户id来条件插入有效的数据行!
      

  3.   

    有没有不用中间表的方法,我是把Excel读到字符串数组里的
      

  4.   

    高级开发工程师职位推荐
    岗位责任:
    1、Senior  Developer有3年以上的成功的软件产品或类似项目的开发经验。有较强的独立思考,判断和研发能力。能够比较准确的判断每个开发任务的工作量。对产品的质量和专业制造有比较成熟的经验和认识。
    2.Senior Developer 的主要任务是在产品研发经理(Team Leader/Manager)带领下参与实现8a产品开发。必须有较高的技术水平和团队工作能力,并对8a及其相关的技术要有较高的兴趣和钻研能力。要有能够主动接受技术挑战,并能够将任务实现到底的精神和动力。
    任职资格: 
    1.20岁以上,35岁以下,至少本科毕业,最好是国内1流大学理科的计算机专业。北京大学、清华大学、人民大学毕业生优先。 
    2.至少3年以上的软件公司的C/C++开发工作经验,用C/C++参与开发过成功的产品。 
    3.对 C/C++, Linux 系统必须有实际开发经验和高水平的掌握. 
    4.对参加过数据库开发的优先 
    5.对使用C/C++ 开发过系统内核(System Kernel), 网络通信 (Networking), 并行计算 (Parallel Computing),  分布式处理模式的优先 (Distributed Computing). 
    6.对Oracle ; Sybase IQ ; DB2等数据库有深入了解的优先 
    7.要求总结分析能力属于较高水平 
    8.英语必须有中等水平以上的读写能力,口语好的优先 
    9.要求开朗,积极,向上,能够承受一定的心理和工作压力
    岗位地点:北京 
    月薪20K以内
    Lade Chen
    Bilast & Associates, Inc. 
    R 1501 Tower B Xintiandi Building No.1 Xibahe Road Chaoyang District Beijing PRC.
    M:15011205431
    P: 8610.5128.6869-828
    Email: [email protected]
    F: 8610.5128.6869 ext.888
      

  5.   

    没错,先建中间表把excel数据都导进入,然后再选择性删除。