Информация об изменениях

Сообщение Re[2]: Insert дубликатов, как лучше? (MS SQL) от 05.06.2015 11:27

Изменено 05.06.2015 11:43 rFLY

Здравствуйте, BlackEric, Вы писали:

BE>Первое что пришло в голову — вынести измененное поле в отдельную таблицу по принципу 1:N

Была мысль сделать так:
...
INSERT INTO t (f1, f2) 
SELECT d.f1, tmp.f2
FROM destination as d INNER JOIN (select 0 as f2 union select 1 as f2) tmp on f2 is not null
WHERE EXISTS(SELECT NULL FROM @affected WHERE f1 = d.f1)
ORDER BY tmp.f2; -- Думаю это важно, так как индекс идет по f2
Re[2]: Insert дубликатов, как лучше? (MS SQL)
Здравствуйте, BlackEric, Вы писали:

BE>Первое что пришло в голову — вынести измененное поле в отдельную таблицу по принципу 1:N

Была мысль сделать так:
...
INSERT INTO destination (f1, f2) 
SELECT d.f1, tmp.f2
FROM source as s INNER JOIN (select 0 as f2 union select 1 as f2) tmp on f2 is not null
WHERE NOT EXISTS(SELECT NULL FROM destination WHERE f1 = s.f1)
ORDER BY tmp.f2; -- Думаю это важно, так как индекс идет по f2