У меня есть 3 таблицы:
- Постановка: ежемесячно вставляются записи о сотрудниках.
- Мастер: таблица содержит все ранее введенные записи из промежуточных, уникальные записи.
- Изменения: отслеживает все изменения — не имеет первичного ключа.
Таблицы имеют 10 столбцов. В промежуточной таблице каждый месяц у нас около 2 500 000 записей. Используя курсор, я могу вставлять новые записи из промежуточной таблицы в основную таблицу.
Когда дело доходит до обновления, я использую внутреннее соединение, чтобы получить записи из промежуточного хранения, которые уже существуют в главной таблице.
Чтобы узнать, изменилась ли какая-либо информация о сотруднике, мне нужно запросить что-то в этой строке:
WHERE Staging.FirstName <> Master.FirstName
OR Staging.LastName <> Master.LastName
OR ...
И так по 10 колонок или есть способ проще?