SQL Senior CDC и инкрементальная загрузка спрашивают часто обновлено

Применить пачку CDC-событий к таблице

Условие

В cdc_events пачка событий изменений клиентов с позицией в журнале lsn. Примените их к dwh_customers: для каждого id важно только последнее событие по lsn. Если последнее событие d, строку удалить; если c или u, строка должна существовать с данными этого события. Затем выведите dwh_customers: id, name, city по возрастанию id. Порядок строк важен.

Как подойти

Подсказки: 2
  1. DISTINCT ON (id) ... ORDER BY id, lsn DESC даёт последнее событие.
  2. В MERGE можно писать WHEN MATCHED AND условие THEN DELETE.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.