需要一种更好的方法来将大量数据从excel更新到Oracle表

时间:2013-07-10 07:49:27

标签: sql oracle11g

我在excel表中有近400条记录需要使用sql语句插入到单个表中。如果我需要手动为所有这些数据逐个编写更新语句,那么它真的很忙。有没有任何有效的方法,以便我可以使用某种脚本或其他任何东西将所有数据更新到该表。这将是一个很大的帮助,因为它可以为我节省大量的时间。

提前致谢。

4 个答案:

答案 0 :(得分:2)

我认为您正在寻找Sql Loader

答案 1 :(得分:2)

您只需将Excel电子表格导出为CSV文件,然后在Oracle中使用external table即可访问数据。

CREATE TABLE external_table (
  id varchar2(10),
  col varchar2(20),
  ORGANIZATION EXTERNAL (
     TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
     ACCESS PARAMETERS (FIELDS TERMINATED BY ',')
     LOCATION ('mydata.csv'))

然后,您只需使用Excel电子表格中的数据更新表格

即可
merge into my_table t1
using external_table t2
   on ( t2.id = t1.id )
 when matched then
    update set t1.col = t2.col
 when not matched then
     insert (id, col) values(t2.id, t2.col)

答案 2 :(得分:0)

1)如果您有机会使用PLSQL Developer,您可以通过TEXT Importer和ODBC Importer将数据加载到您的数据库中。

答案 3 :(得分:0)

您始终可以使用单元格值使用excel的本机连接运算符构建插入语句,然后复制/粘贴这些值。