TRACKDELETES (デフォルトの動作)
TRACKDELETESディレクティブを使用すると、データの抽出またはインポート中に削除が自動的に追跡および処理されるようにできます。 個別の削除ログや手動操作は必要ありません。
ハード削除
ソース・システムでレコードが削除されると、TRACKDELETESディレクティブにより、データのインポートまたは処理中にこれらの削除済レコードが自動的に除外されます。
例:
IMPORT SOURCE PRODUCTS WITH TRACKDELETES AS PROD_BASE
IMPORT SOURCE AS SALES
DEFINE DATASET PROD_DIM
ROWSOURCE PROD_BASE ;
THIS = PROD_BASE;
END
DEFINE DATASET PROD_REPLENISH
ROWSOURCE PROD_DIM INNER JOIN SALES ON (PROD_DIM.PROD_ID = SALES.PROD_ID);
THIS = PROD_DIM[PROD_NAME, PROD_ID];
THIS[REPLENISH_FLG] = CASE WHEN SUM(SALES.QUANTITY_SOLD) > 5 THEN 1 ELSE 0 END;
GROUPBY[PROD_NAME, PROD_ID];
PRIMARYKEY[PROD_ID];
REFRESH ON CHANGES IN [PROD_DIM, SALES];
END
この例では、TRACKDELETESによって、削除されたレコードを個別に処理する必要なく、中止された製品がPROD_DIMデータセットに反映されます。
ソフト削除
削除操作は、データの抽出時に適用されます。
DELETETYPE[SOFT]フラグは削除済レコードをマークするために使用され、抽出プロセスではフラグ付けが必要なレコードを識別します。 フラグ名を指定しない場合は、デフォルトのフラグISDELETEDが使用されます。 IMPORT SOURCE CUSTOMERS DELETETYPE[SOFT] WITH PRIMARYKEY[CUST_ID] TRACKDELETES
DEFINE UPDATEABLE DATASET CUSTOMERS_SD_D FROM CUSTOMERS END
この例では、CUSTOMERSデータセットのインポート中にソフト削除が開始されます。 TRACKDELETESで識別されるレコードには、デフォルトのISDELETED列を使用して削除されたフラグが付けられます。
DELETETYPEディレクティブでカスタム・フラグ名を指定できます。 IMPORT SOURCE SALES DELETETYPE[SOFT[ISTRANDELETED]] TRACKDELETES[IN[THDELETE]]
DEFINE UPDATEABLE DATASET CUSTOMERS_SD_D FROM CUSTOMERS END