次のような場合に当てはまります。
- DO INSERT FOR
- 以下に対する後続のUPDATE文およびINSERT文でupsertが実行できます。
- label
- 直後に続く1つ以上のINSERT文、UPDATE文、またはDELETE文に対して使用されるラベルの固有名。
- label名は、Teradata SQL列名と同じ構造規則に従って指定します。
- label名は、IMPORTコマンドのAPPLY句で参照できます。
- MARK
- IGNORE
- Teradata MultiLoadは、ユーザーが指定する以下のエントリ タイプについて、 tname4エラー表に行を挿入する(MARK)か、しない(IGNORE)かを指定します。
- DUPLICATE
- DUPLICATE INSERT
- DUPLICATE UPDATE
- MISSING
- MISSING UPDATE
- MISSING DELETE
- 表がマルチセット表である(行の重複が許可される)場合、MARK/IGNORE DUPLICATE ROWSに効果はありません。
- 固有な基本索引が表に含まれる場合、IGNORE DUPLICATE ROWSに効果はありません。この場合、行が重複するということは固有性違反が起こったことになるので、その行は固有性違反表に記録されます。
- upsert操作では、挿入と更新の両方が失敗して初めてエラーが記録されます。この場合、実行されなかった更新操作に対してMARKになった行では、ターゲット表の列にヌルが設定されます。
- DUPLICATEとともにINSERTやUPDATEを指定すると、MARKまたはIGNORE指定は挿入と更新両方の操作に適用されます。
- 同様に、UPDATEとDELETEのどちらもMISSINGと合わせて指定しないと、MARKまたはIGNORE指定は更新と削除両方の操作に適用されます。
upsert操作のMISSING UPDATE以外の処理では、MARKがデフォルトです。