Форсирование транзакции
Я пишу сценарий, который должен перебрать таблицу и вставить значения в другую таблицу.
Проблема заключается в том, что при связывании данных перед вставкой данных в новую таблицу возникают некоторые повторяющиеся значения.
Я делаю это в цикле while, и мне кажется, что SQLServer создает все операторы вставки в памяти и выполняет их, когда скрипт завершается.
Ощущение правильное, и если да, то есть ли способ заставить SQLServer выполнять каждую транзакцию индивидуально, когда они происходят в коде?
1 ответ
Вообще говоря (но не всегда), когда вы получаете повторяющиеся записи, возникает проблема с вашей логикой. Тем не менее, используйте выбрать отличные, чтобы удалить дубликаты.
Insert into tablec (a, b, c)
select distinct tablea.a, tablea.b, tableb.c
from tablea
left outer join tableb on tablea.a = tableb.b