Я новичок в Oracle.
У меня вызываются 2 таблицы.
dwh_tbl_dim_supplier_type2_ar
(целевая таблица)
stg_tbl_dim_supplier_ar
(исходная таблица)
dwh_tbl_dim_supplier_type2_ar
содержит шесть столбцов
SUPPLIER_KEY (PK)
SUPPLIER_CODE
SUPPLIER_NAME
SUPPLIER_STATE
START_DATE
END_DATE
stg_tbl_dim_supplier_ar
содержит три столбца
SUPPLIER_KEY (PK)
SUPPLIER_NAME
SUPPLIER_STATE
В исходной таблице у меня уже есть запись SUPPLIER_KEY = 001, SUPPLIER_NAME = Phlogistical Снабжающая компания, SUPPLIER_STATE = IL
В целевой таблице у меня уже есть данные SUPPLIER_KEY = 001 SUPPLIER_CODE = 001 SUPPLIER_NAME = Phlogistical Supply Company СОСТОЯНИЕ ПОСТАВЩИКА = CA START_DATE = 2000-01-01 END_DATE = 9999-12-31
Из этих таблиц есть отличия в столбце SUPPLIER_STATE. У меня есть задача обновить TARGET TABLE данными из SOURCE TABLE, используя SCD Type 2. Этот метод отслеживает исторические данные, создавая несколько записей. Также результат в столбцах start_date и end_date в целевой таблице должен использовать формат даты без времени (например, 2020-06-18). Как мне выполнить эту задачу, используя SQL MERGE или другой запрос на Oracle? Может ли кто-нибудь объяснить мне шаг за шагом с помощью Query? Вы можете увидеть изображение ниже, чтобы увидеть, как это выглядит.
Любая помощь будет принята с благодарностью.
Спасибо.
![enter image description here](https://i.stack.imgur.com/som6G.png)