Мне любопытно, будет ли это работать. В настоящее время я заблокирован за целевой таблицей и теряю время разработки, поэтому я не могу протестировать его еще неделю и хочу перейти к следующему шагу.
Цель состоит в том, чтобы сделать следующее: Используя 3 первичных ключа (cch_id, event_type, event_time), мне нужно сравнить две таблицы данных (source_tb и target_tb), а затем обновить вторую таблицу (Target_tb) на основе следующие 3 критерия: 1. Для сопоставления данных ничего не делать 2. Для записей, поступающих из target_tb, но не исходящих из source_tb, истекает срок действия записей aka set event_type = 'EXPIRED' 3. Для записей, поступающих из исходного потока, но не доступных в целевую таблицу, вставьте ее.
MERGE target_tb как b ИСПОЛЬЗУЯ source_tb как ON (a.cch_id = b.cch_id, a.event_type = b.event_type, a.event_time = b.event_time) WHEN MATCHED THEN null //do nothing
КОГДА НЕ СООТВЕТСТВУЕТ b.cch_id THEN b.event_type = 'EXP' ЕСЛИ НЕ СООТВЕТСТВУЕТ a.cch_id THEN INSERT a. *