CSV和Oracle上的SQL

时间:2014-03-18 16:26:20

标签: sql oracle

我想在类文件中的csv文件上运行sql命令,我遇到this project并且能够在csv上成功运行sqls,但我想运行一个从csv获取的查询而且从oracle表中,有没有办法实现相同的

1 个答案:

答案 0 :(得分:0)

您可以创建一个将由csv文件添加的外部表:

创建外部表的示例:

  • 1)创建目录MY_CSV为' / home / oracle / my_csv&#39 ;;注意: / home / oracle / my_csv必须是磁盘上的物理位置。

  • 2)授予读取权限,将目录MY_CSV写入斯科特;

  • 3)将您的csv文件放在OS级别的/ home / oracle / my_csv
  • 4)

    create table my_ext_table
       (
         ENAME VARCHAR2(10),
         DNAME VARCHAR2(14),
         JOB VARCHAR2(9)
       )
       organization external
       (
         type ORACLE_LOADER
         default directory MY_DIR
         access parameters 
         (
           records delimited by newline
           fields terminated by "~"
         )
         location ('myfile.csv')
       )
       reject limit unlimited;
    

    外部表功能是对现有SQL * Loader功能的补充。它使您可以访问外部源中的数据,就像它在数据库中的表中一样。

然后加入这两个表(数据库和外部)

外部表的主要缺点是您无法在此类表上创建任何索引,因此选择数据可能会相当慢。