我写了一个像这样的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文件。我需要读入每个文件并为每个文件创建单独的外部表。例如,必须为fileA创建tableA。 是否可以为此编写一个过程,将每个文件名读入循环并将filename变量替换为上述sql状态并在循环中运行sql语句?
答案 0 :(得分: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存储过程。
看看它,并告诉我它是怎么回事......我正在寻找我多年前制作的代码,但似乎无法找到它。这是一个不同的工作。
祝你好运。