У меня есть две таблицы A и B. Таблица A является источником, а B является целью. Исходя из некоторых условий, я буду либо обновлять существующие строки (только выборочные столбцы) в B из A, либо вставлять как новую строку в B из A. A и B имеют одинаковые столбцы. Это я могу сделать с помощью MERGE.
Теперь, если строка в таблице B обновлена, мне нужно обновить некоторые записи в 3-ей таблице C. Возможно ли это сделать в следующем операторе,
MERGE B
USING A
ON A.somecolumn = B.somecolumn
WHEN MATCHED THEN
UPDATE
SET
B.somecolumn1 = A.somecolumn1,
B.somecolumn2 = A.somecolumn2
WHEN NOT MATCHED BY TARGET THEN
INSERT INTO B
somecolumn1,
somecolumn2,
somecolumn3,
somecolumn4
VALUES
(
A.somecolumn1,
A.somecolumn2,
A.somecolumn3,
A.somecolumn4
);