Дедупликация в Oracle - PullRequest
       10

Дедупликация в Oracle

0 голосов
/ 18 ноября 2018

Ситуация: - Таблица «A» получает данные из фида OracleGoldenGate и получает данные в виде нового, обновленного, дублирующего фида, который либо создает новую запись, либо перезаписывает старую на основе своих характеристик (N / U / D).У каждой записи в таблице есть свой столбец UpdatedTimeStamp, содержащий метку времени вставки.

Область действия: - Чтобы написать StoredProcedure в Oracle, который извлекает данные за период времени на основе столбца ОбновленоTimeStamp и публикует xml с использованием DBMSXMLGEN.Как я могу убедиться, что дубликат, введенный в таблицу, больше не обрабатывается ??

В настоящий момент выполняется фильтрация через новую созданную мной таблицу с именем A-stg, в которую постепенно добавляются старые данные.

1 Ответ

0 голосов
/ 18 ноября 2018

Насколько я понял вопрос, есть несколько способов избежать дубликатов.

Наиболее очевидным является использование DISTINCT, например

select distinct data_column from your_table

Еще один способ заключается виспользуйте столбец отметки времени и получите только последнее (или первое?) значение, например

select data_column, max(timestamp_column) 
from your_table
group by data_column
...