Долго читал этот сайт для ответов, а теперь задаю свой первый вопрос!
Я использую SQL Server
У меня две таблицы, ABC и ABC_Temp .
Содержимое вставляется в ABC_Temp , прежде чем попасть в ABC.Таблицы ABC и ABC_Temp имеют одинаковые столбцы, за исключением того, что ABC_Temp имеет дополнительный столбец с именем LastUpdatedDate, который содержит дату последнего обновления.Поскольку ABC_Temp может иметь более одной и той же записи, он имеет составной ключ с номером элемента и датой последнего обновления.
Столбцы: ItemNo |Цена |Кол-во и ABC_Temp имеет дополнительный столбец: LastUpdatedDate
Я хочу создать инструкцию, которая соответствует следующим условиям:
- Проверьте, если каждый из атрибутов ABC отличается от значения ABC_Temp для записей с тем же ключом, если это так, тогда выполните обновление (даже если отличается только один атрибут, все остальные атрибуты также могут быть обновлены)
- Обновлять только те, которые нуждаются в изменениях, если запись та же самая, то она не будет обновляться.
- Поскольку элемент может иметь более одной записи в ABC_Temp I onlyхочу, чтобы последнее обновленное было обновлено до ABC
В настоящее время я использую 2005 (думаю, на данный момент не на работе).
Это будетнаходиться в хранимой процедуре и вызывается внутри запланированной задачи VBscript.Так что я верю, что это однажды.Кроме того, я не пытаюсь синхронизировать две таблицы, поскольку содержимое ABC_Temp будет содержать только новые объемные записи, вставленные из текстового файла через BCP.Ради контекста, это будет использоваться вместе со вставкой, хранимой процедурой, которая проверяет, существуют ли записи.