17.10 - DELETEタスクの使用 - Parallel Transporter

Teradata® Parallel Transporter リファレンス

Product
Parallel Transporter
Release Number
17.10
Published
2022年2月
Content Type
プログラミング リファレンス
Publication ID
B035-2436-061K-JPN
Language
日本語 (日本)
Last Update
2022-02-11
UpdateオペレータのDELETEタスク オプションを使用すると、APPLY文の構造に応じて、Consumerオペレータまたはスタンドアロン オペレータのどちらかとして実行できます。
  • データ ストリームからの行の取得を試行しないStandaloneオペレータとして実行する場合:
    APPLY
         <SQL DELETE statement>
  • データ ストリームからの行の読み取りを試行するConsumerオペレータとして実行する場合:
    APPLY
         <SQL DELETE statement>
    SELECT FROM …

APPLY文に以下の単一DELETE文を指定します。

   APPLY
(
     'DELETE FROM TABLE xyz;'
) ;

この場合、UpdateオペレータはStandaloneオペレータとして実行されます (UpdateオペレータはConsumerオペレータであり、Producerオペレータがないので、SELECT文はありません)。

DELETEの情報でデータを要求するDELETE文を指定することもできます。 この場合は、APPLYに以下のようなSELECT文が必要です。

   APPLY
(
       'DELETE FROM TABLE xyz WHERE Field1 = :Field1;'
   )
   SELECT * FROM OPERATOR (FILE_READER [1] . . .
   ;

この場合、UpdateオペレータはConsumerオペレータとして実行され、1行のデータのみを要求します。 そのデータ行はデータベースに渡され、WHERE句で指定されたように列からデータを抽出します。

以下のもう1つの例は、最初の例とよく似ており、UpdateオペレータはStandaloneオペレータとして実行されますが、DELETE文にWHERE句が含まれます。

   APPLY
   (
       'DELETE FROM TABLE xyz WHERE Field1 = ''abc'';'
   ) ;

この場合、WHERE句がありますが、WHERE句の情報はプロデューサ オペレーのデータを必要としません。

UpdateオペレータがStandaloneオペレータとして実行される場合、スキーマは必要ありません。 つまり、DEFINE SCHEMA文を使用してスキーマを定義する必要はありません。 これは、ジョブのProducerオペレータのデータが必要とされないからです。