Вот еще один способ - самостоятельно присоединиться к таблице, в которую вы вставляете, и вставлять записи только там, где ее еще нет.
Во-первых, это таблица, в которую вы вставляете пакет, куда вы хотите вести уникальные записи. Имейте в виду, что у вас должно быть уникальное ограничение здесь. Вы хотите использовать только одну из этих уникальных вставок, чтобы никогда не сталкиваться с ограничением:
DECLARE @Table table (TheValue int primary key)
Одна из таблиц, из которых вы получаете данные, которые вы хотите вставить в основную таблицу пакетов:
DECLARE @TableSelectingFrom table (TheValue int primary key)
Например, просто заполнив это записью:
insert @TableSelectingFrom select 1
Существует левое внешнее соединение, поэтому мы извлекаем только уникальные записи из @TableSelectingFrom:
INSERT into @Table
SELECT a.TheValue
from @TableSelectingFrom a
left join @Table b on a.TheValue = b.TheValue
where b.TheValue is null
select * from @Table