Мне была задана задача вставить более 1000 строк с 4 столбцами. В рассматриваемой таблице нет PK
или FK
. Предположим, что он содержит столбцы ID
, CustomerNo
, Description
. Записи, которые необходимо вставить, могут иметь одинаковые значения CustomerNo
и Description
.SQL-пакетная вставка, избегать дубликатов, нет PK
Я читал об импорте данных во временную таблицу, сравнивая ее с реальной таблицей, удаляя дубликаты и перемещая новые записи в реальную таблицу.
У меня также могло быть 1000 запросов, которые проверяют, существует ли такая запись, и вставлять данные, если это не так. Но я слишком стыжусь, чтобы попробовать это по понятным причинам.
Я не ожидаю какого-либо конкретного кода, потому что я не дал никаких конкретных подробностей. На что я надеюсь - это некоторые псевдокоды или общие рекомендации для выполнения таких задач. Я не могу дождаться, чтобы дать хоть что-нибудь!
* Если у него нет первичного ключа - это не таблица * - добавьте ПК! –
Какое требование при обнаружении дубликатов? (1) Вся партия должна завершиться неудачей, (2) Вставлять только те строки, которые не являются дубликатами, (3) Только одна строка, выбранная случайным образом, должна быть вставлена для каждого дубликата, (4) Только одна строка, основанная на определенных критериях (например, самая низкая победа CustomerNo), следует вставлять за один дубликат –