次の外部テーブル定義を使用します。
create table app_doctor (
doc_no number(9),
age number(3),
eor char(3 char)
)
organization external
( type oracle_loader
default directory "DOC"
access parameters
(
records delimited by newline
**load when (eor = "EOR")**
string sizes are in characters
logfile 'doc.log'
badfile 'doc.bad'
discardfile 'doc.dsc'
fields
(
doc_no position (1:9) integer external(9),
age position (10:12) integer external(3),
eor position (13:15) char(3)
)
)
location('HOSP_DOC.txt')
)
reject limit unlimited
parallel 5;
そして、次のテスト データ ファイル:
123456789021EOR
123456789021EOR
123456789021EOR
123456789021EOR
123456789021FER
123456789021FER
123456789021FER
asdfasfa9021ABC
asdfasfa9021ABC
asdfasfa9021ABCasdfasdas
123456789021ABC
123456789021FER
123456789021EOR
123456789021EOR
123456789021EOR
123456789021ABC
123456789021ABC
123456789021ABC
実行時に7つの有効なレコードが返されます
select * from app_doctor;
私の廃棄ファイルには 11 個の不良レコードがすべて含まれており、ログ ファイルdoc.log
には実行中に何が起こったかについての正しい情報が含まれています。
03/08/13 11:33:56 に開かれた LOG ファイル
テーブル APP_DOCTOR のフィールド定義
レコード形式 DELIMITED BY NEWLINE
ファイル内のデータのエンディアンはプラットフォームと同じです
すべてのフィールドが null の行が受け入れられます
いつロードするか (EOR = EOR)
データ ソースのフィールド:
DOC_NO 整数外部 (9)
レコード位置 (1、9)
SQLローダーと同じように空白を削除
AGE 整数外部 (3)
レコード位置 (10、12)
SQLローダーと同じように空白を削除
EOR CHAR (3)
記録位置 (13, 15)
SQLローダーと同じように空白を削除
03/08/13 11:33:56 に開かれた LOG ファイル
テーブル APP_DOCTOR のフィールド定義
レコード形式 DELIMITED BY NEWLINE
ファイル内のデータのエンディアンはプラットフォームと同じです
すべてのフィールドが null の行が受け入れられます
いつロードするか (EOR = EOR)
データ ソースのフィールド:
DOC_NO 整数外部 (9)
レコード位置 (1、9)
SQLローダーと同じように空白を削除
AGE 整数外部 (3)
レコード位置 (10、12)
SQLローダーと同じように空白を削除
EOR CHAR (3)
記録位置 (13, 15)
SQLローダーと同じように空白を削除
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 5 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 6 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 7 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 8 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 9 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 10 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 11 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 12 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 16 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 17 が破棄されました
KUP-04102: ファイル /apps/oracle/doc/HOSP_DOC.txt からレコード 18 が破棄されました