以下の例は、上述のDELETEタスク例と同じ目的を達成しますが、少し異なる手法を使用します。 削除基準にハード コーディングされた値を使用するのではなく、この例の値は、DataConnectorオペレータとデータ ストリームによって外部ファイルから供給されます。 SQLホスト変数(:CustNo)は、DELETE文の値を表わします。
この場合、Updateオペレータは、データ ストリームから入力を受け取るので、DELETEタスクとして使用される Consumerオペレータです。 このアプローチと最初の例との違いを太字で示します。
DEFINE JOB DELETE_TASK_PARAM DESCRIPTION 'External File DELETE FROM CUSTOMER TABLE' ( DEFINE SCHEMA CUST_NUM_SCHEMA DESCRIPTION 'CUSTOMER NUMBER SCHEMA' ( Cust_Num INTEGER ); DEFINE OPERATOR UPDATE_OPERATOR DESCRIPTION 'Teradata PT UPDATE OPERATOR' TYPE UPDATE SCHEMA CUST_NUM_SCHEMA ATTRIBUTES ( VARCHAR TargetTable = 'Customer', VARCHAR TdpId = @Tdpid, VARCHAR UserName = @Userid, VARCHAR UserPassword = @Pwd, VARCHAR AccountId, VARCHAR LogTable = 'DeleteTask_log', VARCHAR DeleteTask = 'Y' ); DEFINE OPERATOR DATA_PRODUCER DESCRIPTION 'DATA CONNECTOR OPERATOR' TYPE DATACONNECTOR PRODUCER SCHEMA CUST_NUM_SCHEMA ATTRIBUTES ( VARCHAR OpenMode = 'Read', VARCHAR Format = 'Formatted', VARCHAR IndicatorMode, VARCHAR FileName = 'Single_Row_File' ); APPLY ( 'DELETE FROM CUSTOMER WHERE CUSTOMER_NUMBER LT :CustNo') TO OPERATOR (UPDATE_OPERATOR [1]) SELECT * FROM OPERATOR (DATA_PRODUCER[1]); );