我第一次接触sqlldr这个东西,不是太懂。今天遇到这么个问题是:我想使用sqlldr向数据库中添加数据,希望把重复的数据替换,不重复的数据插入。这个用sqlldr应该怎么写。问题比较急,谢谢各位大哥帮帮小弟,小弟将不胜感激。

解决方案 »

  1.   

    -- sqlldr 只是用于将大量文本数据导入oracle!-- 要实现你想要的东西,很简单,利用中间表
    -- Step 1: 创建一张与你将要导入的目标表一样字段结构的表;
    -- Step 2: 用sqlldr 将数据导入中间表
    -- Step 3: 用SQL语句实现:重复的数据替换,不重复的数据插入
    --         (方法多多,如果有目标表有主键,且你提供的数据没有主键冲突(主键字段唯一)的话,
                 可用merge into )
      

  2.   

    insert   向表中插入值,但要求表开始时为空
    replace delete表中的数据,然后插入新值
    append   向表中追加数据
    truncate trunctate表,然后插入新值
    ----
    根据你的需求,用replace delete就可以了