注意:
この項で説明する内容は、SQL*LoaderおよびOracle Databaseのリリースがいずれも11gリリース1(11.1)以上の環境にのみ適用されます。SQL*Loader、Oracle Databaseまたはその両方が以前のリリースの環境には適用されません。
SQL*Loader制御ファイルでは、REF
列に対応するフィールドの記述は、列名の後にREF句を記述することによって行います。REF句には、引数として表名とロードされるREF
列の型に適用可能な属性を取ります。表名は、(FILLERフィールドを使用して)動的に、または定数として指定できます。また、表名は、スキーマ名の有無にかかわらず指定できます。
REF句で指定する表名が、定数として、またはFILLERフィールドを使用して指定されるかどうかにかかわらず、大/小文字を区別して認識されます。このため、次のような状況が発生します。
ユーザーSCOTT
が、小文字で表名を引用符で囲まずにtable2
という名前の表を作成する場合、その表は次のいずれの方法でもREF句で使用できます。
REF(constant 'TABLE2', ...)
REF(constant '"TABLE2"', ...)
REF(constant 'SCOTT.TABLE2', ...)
ユーザーSCOTT
が、大文字と小文字を組み合せた名前を引用符で囲んで"Table2"
という名前の表を作成する場合、その表は次のいずれの方法でもREF句で使用できます。
REF(constant 'Table2', ...)
REF(constant '"Table2"', ...)
REF(constant 'SCOTT.Table2', ...)
いずれの状況においても、constant
がFILLERフィールドに置換された場合、同じ値がデータ・セクションに書き込まれると、例に示したとおり値が処理されます。