ロード条件を満たさないレコードがある場合、SQL*Loaderを実行すると、廃棄ファイルが生成されることがあります。このファイルに出力されたレコードは廃棄レコードと呼ばれます。廃棄レコードは、制御ファイル中のWHEN
句の指定を満たすことができなかったものです。これらのレコードは、拒否レコードとは異なります。廃棄レコードに必ず不良データがあるとはかぎりません。また、廃棄レコードに対して、挿入は行われません。
廃棄ファイルは次の規則に従って生成されます。
廃棄ファイル名を指定し、1つ以上のレコードが制御ファイルに指定したすべてのWHEN
句の条件に満たない場合に生成されます。(廃棄ファイルが生成されると、同じ名前の既存のファイルは上書きされることに注意してください。)
廃棄レコードがない場合、廃棄ファイルは生成されません。
制御ファイル内で廃棄ファイルを指定するには、そのディレクトリまたは名前(またはその両方)を指定するか、廃棄の最大数を指定します。次のいずれかの句により、廃棄ファイルが必要に応じて作成されます。
DISCARDFILE=[[directory/][filename]]
DISCARDS
DISCARDMAX
生成される廃棄ファイルのファイル形式やレコード形式は、データ・ファイルと同じです。ストリーム・レコード形式のデータ・ファイルに関しては、データ・ファイルにあるレコード終了記号が廃棄ファイル内でも使用されます。
DISCARD
パラメータまたはDISCARDMAX
パラメータを指定することで、コマンドラインから廃棄ファイルを作成することもできます。詳細は、「SQL*Loaderコマンドライン・リファレンス」を参照してください。
制御ファイルまたはコマンドラインにDISCARD句がない場合、廃棄レコード(つまり、制御ファイルのWHEN
句で指定の事項を満たしていないもの)がある場合でも廃棄ファイルは作成されません。