有好几个csv文件的数据需要分别导入几个到oracle的数据库表中,csv文件中只有部分字段需要导入,并且需要能够实现定时导入,请问有没有什么好的方法。还有插入数据时如果与表中原有数据重复的话还要去重 

解决方案 »

  1.   

    用PL/SQL能导吧 定时导入就不清楚了
      

  2.   

    用PL/SQL或者toad导入,插入数据后用一条sql语句去重
    去重方式一(低效):
      select a.*
      from A_TEST a, (select min(id) as id from A_TEST t group by name) b
      where a.id = b.id;
      去重方式一(高效):
      select *
      from (select a.*, rownum row_num from A_TEST a) x
      where x.row_num in (select min(rownum) from A_TEST t group by name)
      可见,使用rownum的效率比使用id的效率要高,当表数据量很大的时候,差距会很明显。