StreamオペレータとUpdateオペレータでは、ジョブの実行中に生成された様々なエラーをマーク(MARK)または無視(IGNORE)することができます。 IGNOREと指定されたエラー タイプの行は無視されます。 MARKと指定されたエラー タイプの行は、エラー テーブルに保持されます。
Updateオペレータの場合は、MARKと指定された行がErrorTable2(適用エラー テーブル)だけに表示されます。 Streamオペレータではエラー テーブルが1つしかないので、MARKと指定された行はこのエラー テーブルに表示されます。
StreamオペレータとUpdateオペレータ
- DUPLICATE ROWS (挿入操作と更新操作の両方)
- DUPLICATE INSERT ROWS (挿入操作)
- DUPLICATE UPDATE ROWS (更新操作)
- MISSING ROWS (更新操作と削除操作の両方)
- MISSING UPDATE ROWS (更新操作)
- MISSING DELETE ROWS (削除操作)
Streamオペレータのみ
- EXTRA ROWS (更新操作と削除操作の両方) [デフォルト]
- EXTRA UPDATE ROWS (更新操作)
- EXTRA DELETE ROWS (削除操作)
APPLY文内のINSERT文、UPDATE文、またはDELETE文の直後に、MARKまたはIGNOREを入力し、さらに対象となる行タイプを上記の一覧の中から入力します。 MARKと指定された項目は、エラー テーブルに追加されます。
APPLY文にどちらのオプションも指定しない場合は、デフォルトでMARKが指定されます。
詳細については、<Teradata Parallel Transporterリファレンス、B035-2436>の「APPLY文」を参照してください。
方策
特定のエラー タイプをマークするか無視するかを決定する際には、以下の点を考慮してください。
- ジョブで検出された個々の重複行、欠落行、または余剰行に関する情報が必要である場合は、MARKを使用して対象の行をエラー テーブルに送信します。
- 行データを保存してエラー テーブルに格納すると、Teradata PTジョブの全体的なパフォーマンスが若干低下することがあります。 ジョブのパフォーマンスが重視され、かつデータに重複行、欠落行、または余剰行が高い割合で含まれている可能性があるときは、これらの行を無視することを推奨します。
- ジョブ パフォーマンスの多少の低下が問題にならない場合でも、MARKを使用して重複行、欠落行、または余剰行をすべて保存すると、エラー テーブルが無秩序な状態になり、判読が困難になるおそれがあります。
- MARKとIGNOREの最適な使い分けを判断するには、事前に何度かジョブを実行する必要があります。