Форсирование транзакции

Я пишу сценарий, который должен перебрать таблицу и вставить значения в другую таблицу.

Проблема заключается в том, что при связывании данных перед вставкой данных в новую таблицу возникают некоторые повторяющиеся значения.

Я делаю это в цикле 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
Другие вопросы по тегам