次の表 では、IMPORTコマンドを使用する場合に考慮すべき事柄について説明します。
対象 | 使用上の注意 |
---|---|
データ型仕様 | VARTEXT指定を使用する場合、Teradata MultiLoadレイアウトのFIELDコマンドおよびFILLERコマンドで使用できる有効なデータ型は、VARCHAR、VARBYTE、およびLONG VARCHARの3つです。 |
エラー レコードの処理 | Teradata MultiLoadは、入力レコードにエラーを検出すると、通常はそのレコードを破棄した後に終了します。可変長テキストのレコードをロードしている場合、以下のエラー処理オプションを指定すると、この2つの処理の一方または両方を無効にできます。
|
z/OS上で実行する場合のFREE/HOLDオプション | JCLに指定する出力装置の処分は、z/OSで実行されているTeradata MultiLoadタスクでFREE/HOLDオプションが機能するようにするためには、PASSではなく必ずKEEPにします。 |
インポート タスク関連コマンドの制限 | DMLコマンドの下に記述できるTeradata SQL文の合計数は、1つのTeradata MultiLoadインポート タスクにつき最高100です。 データベースに送信する文が多過ぎる場合、1つのTeradata MultiLoadインポート タスクに対してDMLステップが多過ぎることを示すエラー メッセージが出力されます。 インポート タスクでは、条件が指定されていないか、または指定された条件が真の場合に、対象となる文または一連の文が適用されます。 ただし、IMPORTコマンドでの適用対象となるDML文は、IMPORTコマンドの1つ以上のAPPLY句にラベルが指定されているDMLコマンドに含まれるDML文に限られます。(参照されるDMLコマンドとそれに続くDML文は、インポート タスクを定義するBEGIN MLOADコマンドと、参照するIMPORTコマンドの間に指定します。) |
入力レコードの要件 | 各入力レコードのフィールド数の合計は、Teradata MultiLoadレイアウトのFIELDコマンドおよびFILLERコマンドで指定されたフィールド数以上でなければなりません。 コマンドに指定された数よりも少ないと、Teradata MultiLoadによってエラー メッセージが出力されます。 レコードの最後のフィールドに区切り記号を入れるかどうかは任意です。 |
ヌル フィールド | 区切り記号が2つ続いた場合、最初の区切り記号の直後の位置に対応するフィールドがTeradata MultiLoadによってヌルに設定されます。 また、レコードの最後の文字が区切り記号で、処理するべきフィールドが少なくとももう1つ存在する場合、レイアウトのFIELDコマンドおよびFILLERコマンドの定義に従って、次に処理するべきフィールドに対応するフィールドがTeradata MultiLoadによってヌルに設定されます。 |
複数のAPPLY句 | インポート タスクでは、次に挙げるどちらかの方法で同じデータ レコードに対して複数のAPPLY句を適用できます。この機能により、同じまたは異なる条件に基づいて、同じデータ レコードを別々の表に適用できます。 1つの方法として、APPLY句が参照しているラベルの有効範囲に複数のDML文が含まれていれば、それらの文のそれぞれが、その句に指定されている同じ条件下にある同じデータ レコードに対して適用されます。 2つ目の方法としては、複数のAPPLY句を使用すると、異なるDML文(複数可)に対するlabelをそれぞれの句で参照できます。各labelは、該当する句に指定された条件にある同じデータ レコードに適用されます。 |
基本索引とパーティション列セット | IMPORTタスクでは、削除または更新用に、基本索引列セットのすべての値とパーティション列セットのすべての値を入力する必要があります。IMPORTタスクでは、パーティション列セットの更新をサポートしていません。IMPORTタスクでは、基本索引の更新をサポートしていません。 |
レコード長の妥当性検査 | デフォルトでは、インポート データの実際のレコード長とジョブのレイアウト指定で指定されているレコード長とはTeradata MultiLoadによって比較されません。 この2つが一致しない場合、インポート データの実際のレコード長が、レイアウト指定で指定されているレコード長より大きいか小さいかによって、Teradata MultiLoadでは以下のいずれかの処理が実行されます。
デフォルトの動作を変更して、レコード長妥当性検査が必ず実行されるようにするためには、Teradata MultiLoadを起動する前に、Teradata MultiLoad構成ファイルにMATCHLEN=onを設定します。この設定を行なうと、実際のレコード長が指定されたレコード長と異なる場合にTeradata MultiLoadがエラー メッセージを出力して終了します。 Teradata MultiLoad構成ファイルの使用方法については、Teradata MultiLoad構成ファイルを参照してください。 |
VARTEXTレコード | VARTEXTを指定すると、Teradata MultiLoadによって、入力データは最大10文字のフィールド区切り文字で区切られた可変長テキストとみなされます。入力データ レコードはフィールドごとに順に解析され、各入力テキスト フィールドに対して1つのVARCHARフィールドが作成されます。 |