SQLのEXECUTEコマンドは、BEGIN LOADコマンドとEND LOADコマンドの間で使用する必要があります。
Teradata TPumpスクリプトで指定するすべてのINSERT文、UPDATE文、DELETE文、およびEXECUTE文では、参照されるテーブルの基本索引を完全に指定して、テーブルレベルのロックが生成されないようにしなければなりません。
1つの要求に最大1500個のDML文を格納できます。デフォルトは20文です。
Teradata TPumpは、INSERT、UPDATE、DELETE文、およびEXECUTE文が行ハッシュ ロックを使用することを想定しています。行ハッシュ ロックが使用されない場合でも、Teradata TPumpは実行されますが、テーブルレベルのロックによって文がブロックされるために問題が生じる可能性があります。
また、Teradata TPumpでは、ターゲット テーブルの基本索引を変更するUPDATE文またはEXECUTE文はサポートされません。Teradata TPumpでは、スクリプトの作成者が、不合理な更新を要求するDMLを作成しないようにするためのチェックを実行しません。ただし、UPSERTのUPDATEの部分によって不合理な更新が指定されている場合、Teradata TPumpはAtomic UPSERTを使用しません。これはデータベースによる制約です。
行の中に固有索引が含まれていれば、IGNORE DUPLICATE ROWSは適用されません。
Teradata TPumpは、INSERT、UPDATE、およびDELETEの文を同等のマクロに変換し、指定のパック係数に応じて、複数の文を1つの要求で実行依頼します。Teradata TPumpでは、EXECUTE文もサポートしており、この文を使用すると、実行頻度の高いマクロのマクロ作成ステップを回避できます。EXECUTE文についての詳細は、EXECUTE コマンドを参照してください。
IMPORTで参照できるINSERT、UPDATE、およびDELETEの文の最大数は128です。128番目のDMLによって、エラー テーブルのDMLSEQフィールドにDMLの連続番号128が挿入されて、データベース3520エラーが引き起こされることがあります。
IMPORTが終了すると、実行されたDMLコマンドごとに環境変数が設定されます。Teradata TPumpの変数は30字に制限されていません。これらの変数には、それぞれの文に関連したアクティビティ カウントが含まれています。作成される変数は、次の形式になります。
&IMP <n>_<Apply label>_<x>
- n=IMPORTの番号(1~4)。
- Apply label=そのDMLコマンドを含む句のラベル。
- x=含まれているAPPLY句での文の番号。