0

我写了一个这样的sql语句:

 CREATE TABLE TableA 
   (    "Col1" VARCHAR2(5 BYTE), 
    "Col2" VARCHAR2(2 BYTE), 

   ) 
   ORGANIZATION EXTERNAL 
    ( TYPE ORACLE_LOADER
      DEFAULT DIRECTORY "DIR"
      ACCESS PARAMETERS
      ( records delimited by newline
fields terminated by ','
optionally enclosed by '"'
    )
      LOCATION
       ( 'TableA.csv'
       )
    )
   REJECT LIMIT UNLIMITED ;

我的“DIR”目录中有 120 个 .csv 文件。我需要读取每个文件并为每个文件创建单独的外部表。例如 tableA 必须为 fileA 创建。是否可以为此编写一个过程,将每个文件名读入一个循环并将文件名变量替换为上述 sql 状态并在循环中运行 sql 语句?

4

1 回答 1

2

几年前我遇到了一个非常相似的问题,我使用了 Tom Kyte 在他举世闻名的 asktom.oracle.com 中提供的这个程序:

http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:439619916584

基本上,您必须创建一个读取目录的 java 过程,然后创建一个使用该 java 过程读取目录中文件的 PL/SQL 存储过程。

看看它,然后告诉我它是怎么回事……我正在寻找我多年前为它制作的代码,但似乎找不到它。那是一份不同的工作。

祝你好运。

于 2013-07-25T17:13:08.677 回答