デフォルト: データ・ファイルと同じファイル名ですが、拡張子は.dsc
になります。
用途
DISCARD
パラメータでは、表に挿入されず、拒否もされないレコードを格納するための廃棄ファイルをオプションで指定できます。これらは不良レコードではなく、制御ファイル内で指定されているWHEN
句などのレコード選択基準に単純に一致しなかったレコードです。
構文および説明
DISCARD=[directory/][filename]
DISCARD
パラメータを指定する場合、ディレクトリまたはファイル名(あるいはその両方)を指定する必要があります。
directory
パラメータには、廃棄ファイルの書込み先となるディレクトリを指定します。指定には、デバイスまたはネットワーク・ノードの名前を含めることができます。directoryの値は、次のように決定されます。
DISCARD
パラメータが指定されていないが、DISCARDMAX
パラメータは指定されている場合、デフォルト・ディレクトリは、SQL*Loaderの制御ファイルが存在するディレクトリになります。
DISCARD
パラメータでファイル名が指定されているが、ディレクトリがない場合、ディレクトリはデフォルトでカレント・ディレクトリになります。
DISCARD
パラメータでディレクトリが指定されているが、ファイル名がない場合、指定されたディレクトリが使用され、名前と拡張子にはデフォルトが使用されます。
filename
パラメータには、プラットフォームで有効とみなされるファイル名を指定します。名前(および.dsc以外のものを使用する場合は拡張子)のみを指定する必要があります。ファイル名に空白やその他の句読点文字が含まれている場合は、一重引用符で囲む必要があります。
DISCARD
パラメータもDISCARDMAX
パラメータも指定しない場合、廃棄レコードがあっても廃棄ファイルは作成されません。
DISCARD
パラメータが指定されていないが、DISCARDMAX
パラメータは指定されている場合に廃棄レコードが存在すると、デフォルト名を使用して廃棄ファイルが作成され、ファイルはSQL*Loaderの制御ファイルが存在する場所と同じディレクトリに書き込まれます。
注意:
複数のデータ・ファイルがロードされる状況でDISCARD
パラメータも指定する場合、ファイル名ではなく、廃棄ファイルのディレクトリのみを指定することをお薦めします。指定した名前を持つファイルがすでに存在する場合、使用しているオペレーティング・システムに応じて、既存ファイルが上書きされるか、新しいバージョンのファイルが生成されます。
コマンドラインで指定された廃棄ファイルは、制御ファイルの最初のINFILE
文(存在する場合)に関連する廃棄ファイルとなります。つまり、制御ファイル中で指定する廃棄ファイル名よりも、コマンドラインで指定した廃棄ファイル名の方が優先されます。生成される廃棄ファイルと同じ名前のファイルがすでに存在する場合は、既存ファイルが上書きされるか、新しいバージョンのファイルが生成されます。どちらの処理が行われるかは、使用するオペレーティング・システムによって異なります。
関連項目:
廃棄ファイルの形式の詳細は、「廃棄レコードおよび拒否レコード」を参照してください
例
employees.dat
というデータ・ファイルをロードすることを前提としています。次の例では、ディレクトリ名のみを指定しているため、廃棄ファイルの名前はemployees.dsc
になり、mydir
ディレクトリに作成されます。
DISCARD=mydir/