當表中有更新時,我想在維度表中查看 scd 類型二形式的歷史記錄,營銷區域被認為更新為新值。我想在表中有更新時在維度表中查看scd類型二形式的歷史記錄,營銷區域被認為更新為新值。我們的主要目標是根據歷史數據保存更新記錄方法。在 SCD-2 中更新維度表(記錄數較少 - 幾百條)的算法將是:FOR ALL ROWs in the SOURCE table query LOOP IF ( a corresponding row exists in the DIM TABLE THEN IF data are different THEN 1. UPDATE the ""CURRENT"" row of the DIM TABLE SET EFFECTIVE_TO = NOW ACTIVE_FLAG = 0 (ZERO) 2. INSERT new version into DIM TABLE SET EFFECTIVE_TO = NOW+1 day ahead ACTIVE_FLAG = 1 (ONE)END IF ELSE INSERT new row into DIM TABLE END IF所以我希望存儲新值以及設置為標志 0 的舊值。
2 回答

胡說叔叔
TA貢獻1804條經驗 獲得超8個贊
下面是檢查條件和制作 SCD-2 的塊。也讓我知道你到底在尋找什么。
BEGIN
LOOP cusrsor
SELECT COUNT(1)
INTO V_COUNT
FROM DIM table_name
WHERE <conditions here key columns and change fields here >
IF V_COUNT = 1 THEN -- update flag and insert new record
UPDATE stmt;
INSERT stmt;
ELSE -- New values to insert
INSERT stmt;
END IF;
END LOOP;
END;
添加回答
舉報
0/150
提交
取消