読み取り、拒否、および破棄されたデータのCSV統計

読み取り、拒否、および破棄されたデータのCSV統計

たとえば、oracle sqlテーブルに9つの列を挿入したいとします。

表ACCOUNTREQUEST:7行が正常にロードされました。 2データエラーのため、行がロードされませんでした。

エラーとエラー名を計算するためにecho.txtまたは.logを作成したいと思います。私はこれを私の制御データとして使用します。

    LOAD DATA
INFILE 'csv_accountrequest.csv'
BADFILE 'bad_accountrequest.bad'
APPEND INTO TABLE AccountRequest
FIELDS TERMINATED BY "," TRAILING NULLCOLS

(requestid "request_id_interval.nextval", branch, account_type, title, firstname, lastname, Birthday Date "dd/mm/yyyy", workphone, homephone, address, state, zip, email,status)

私のCSVにインポートしてください。

1,manila,SAVINGS,MR,Alpha,Bravo,01/02/2000,21313,213,kor,north,3232,[email protected],Entered
2,japan,CURRENT,MR,Charlie,Delta,02/03/2001,21313,213,kor,north,3232,[email protected],Approved
3,indo,CURRENT,MS,Echo,Foxtrot,03/04/2002,21313,213,kor,north,3232,[email protected],Entered
4,MY,SAVINGS,MR,Golf,Hotel,04/05/2003,21313,213,kor,north,3232,[email protected],Entered
5,SG,CURRENT,MRS,India,Juliet,05/06/2004,21313,213,kor,north,3232,[email protected],Approved
6,china,CURRENT,MS,Kilo,Lima,06/07/2005,21313,213,kor,north,3232,[email protected],Entered
7,turkey,CURRENT,MR,Mike,November,07/08/2006,21313,213,kor,north,3232,[email protected],Entered
8,chile,CURRENT,MRsr,Mike,November,07/08/2006,21313,213,kor,north,3232,[email protected],rejected
9,poland,CURRENTs,MR,Mike,November,07/08/2006,21313,213,kor,north,3232,[email protected],Entered

SQLLDRを介して、

これは私のせいです。テキスト

Record 8: Rejected - Error on table ACCOUNTREQUEST.
ORA-02290: check constraint (HR.CHK_TITLE) violated

Record 9: Rejected - Error on table ACCOUNTREQUEST.
ORA-02290: check constraint (HR.CHK_ACCOUNTS) violated


Table ACCOUNTREQUEST:
  7 Rows successfully loaded.
  2 Rows not loaded due to data errors.
  0 Rows not loaded because all WHEN clauses were failed.
  0 Rows not loaded because all fields were null.

正常にロードされた行数を計算するためにシェルスクリプトを使用したいと思います。

ロードされない理由とその理由(記録8および9に記載)

PS。 (MR、MRS、MS)をヘッダーとして、(SAVINGS、CURRENT)をアカウントタイプとしてのみ許可する制限のため、データは挿入されませんでした。

シェルスクリプトで拒否回数を計算できました。

grep -wc "rejected" txtsample.txt 

ただし、これをerror.logに反映できないため、エラーの原因(ログ8および9など)も必要です。

ベストアンサー1

おすすめ記事