Как мне написать оператор SQL, который будет вставлять миллионы и обновлять миллионы записей на сервере Sql с помощью T-SQL? При вставке записей SQL должен быть в состоянии создать первичный ключ, используя критерии. Пример: Таблица 1 и Таблица 2 объединены уникальным ключом. И эти данные из этих таблиц сравниваются с основной таблицей, используя другой уникальный ключ между таблицей 1 и основной таблицей. Итерация по основной таблице, если данные существуют в таблице 1, затем выполняются необходимые записи обновления в таблице 3 или, если данные не существуют в таблице 2, затем вставка записи, которая находится в мастер-таблице, в таблицу 1 и таблицу 2. Ключ к сожалению, это varchar (10) в этом формате: 0002558201. Вот почему нам нужно получить последний ключ, используя MAX, а затем переформатировать с левыми '000'. В таблице также есть потерянные ключи, начинающиеся с RF ...., которые следует игнорировать при получении последнего первичного ключа в таблице и увеличивать первичные ключи как в таблице 1, так и в таблице 2. Первичный ключ в таблице 2 представляет собой целое число со знаком. Поскольку клиент не хочет рассматривать удаление этих записей. Также здесь используется внешний ключ, который мы используем для присоединения таблицы Master к этой таблице.
Пример данных для таблицы 1:
PKey_Id FName LName Foreign_Key_Master
0002558201 Ричард Смит 15494934
Пример данных для таблицы 2:
PKey_SNo Foreign_Key_Table1 Стоимость вызовов
1 0002558201 123000 50000
Пример данных для мастера:
PKey_QNo FirstName LastName HCost SalCalls
15494934 Ричард Смит 765 8766
15494935 Джон Доу 743 8342