17.10 - 構文 - MultiLoad

Teradata® MultiLoadリファレンス

Product
MultiLoad
Release Number
17.10
Release Date
2021年6月
Content Type
プログラミング リファレンス
Publication ID
B035-2409-061K-JPN
Language
日本語 (日本)


次のような場合に当てはまります。

CONTINUEIF condition
以下の形式のconditionが指定されている条件句です。
position = value
where
  • positionは、後続インディケータが含まれる全入力レコードのフィールドの開始文字位置を指定する符号無し整数(アスタリスクは使用不可)です。positionは、入力レコードまたは入力レコード フラグメントの最初の文字位置、つまり常にposition 1と相対的です。
  • valueは、文字定数または列定数として指定された継続インディケータ。Teradata MultiLoadでは、定数の長さが継続標識フィールドの長さとみなされます。
condition = positionで指定するvalueでは、大文字と小文字が区別されます。このパラメータを指定する場合は、必ず大文字と小文字を正しく入力します。
condition句がtrueの場合、Teradata MultiLoadは、現行レコードの終わりに次の入力レコードを連結して、データベースに送信する単一レコードを1つ作成します。現行レコードは、外部データ ソースから取得した最新のレコードです。
conditionfalseの場合、Teradata MultiLoadは、現行の入力レコードを単独で、または連続する連結レコードの最後としてデータベースに送信します。conditionの真偽に関係なく、Teradata MultiLoadでは、各レコードからテスト済みの文字列(継続標識フィールド)が削除されます。完全なレコードを作成するために必要なCONTINUEIF処理はすべて、そのレコードに関する他のすべての処理に先行して実行されます。
ジョブ スクリプトの文字セットがジョブに使用されるクライアントの文字セットと異なる場合、Teradata MultiLoadは指定された値(文字定数または文字列定数)をスクリプトの文字エンコーディングからクライアントの文字エンコーディングに変換してから、条件を評価します。Teradata MultiLoadは継続標識フィールドの長さとして、クライアント文字エンコーディングの定数の長さを使用します。
例えば、z/OSでUTF-8クライアント文字セットを使用する場合、ジョブ スクリプトはTeradata EBCDICで記述される必要があります。ワークステーションに接続したシステムでUTF-16クライアント文字セットを使用する場合、ジョブ スクリプトはUTF-8でも構いません。
メインフレーム プラットフォームでUTF-8クライアント文字セットを使用する前に、文字セットの定義を確認し、コード ポイントおよびTeradata EBCDICとUnicode文字のマップを判断します。EBCDICのバージョンによっては、ジョブ スクリプト内のどの位置に特殊文字を配置すべきかが異なる場合があります。詳細については、Teradata Vantage™ - Advanced SQL Engine 国際文字セット サポート, B035-1125を参照してください。
INDICATORS
データが標識モードになる条件。
INDICATORSを指定すると、再定義も含めてすべてのFIELDコマンドがTeradata MultiLoadによってデータベースに送信されます。
INDICATORSを適切に指定しないと、データベースのターゲット表が破損する場合があります。LAYOUTコマンドにINDICATORSが指定され、データ ファイルの各レコードに標識バイトが含まれていない場合、ターゲット表は間違ったデータとともにロードされます。

反対に、INDICATORSが指定されていない場合に、データ ファイルの各レコードに標識バイトが含まれていると、ターゲット表が破損します。

INDICATORSの指定が、データベースに送信するデータのモードと一致しているかどうかを常に確認する必要があります。

  • INDICATORS処理は、各レコードに対してCONTINUEIF処理が完了した後で初めて実行されます。
  • APPLY句でIS NULLとIS NOT NULLのいずれも指定されていない場合、VARTEXT形式を除くすべてのデータ形式でINDICATORSを指定する必要があります。
layoutname
1つ以上の後続のIMPORTコマンドが参照するためのレイアウトに割り当てられる名前です。
layoutnameは、Teradata SQL列名と同じ構成規則に従う必要があります。