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 ファイルがあります。各ファイルを読み込み、ファイルごとに個別の外部テーブルを作成する必要があります。たとえば、fileA に対して tableA を作成する必要があります。このための手順を記述して、各ファイル名をループに読み込み、ファイル名変数を上記の 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 に答える