Я соглашаюсь с pez и некоторыми здесь.
для меня кажется очевидным, который "новый" сам описательное создание объекта, где шаблон YUI, который описывает Greg Dean, , полностью затенил .
возможность кто-то мог записать var bar = foo;
или var bar = baz();
, где baz не является методом создания объекта, кажется далеким более опасный.
См. SQL Server 2008 - Использование слияния из SSIS . Я реализовал нечто подобное, и это было очень просто. Просто использовать страницу BOL Вставка, обновление и удаление данных с помощью MERGE было достаточно, чтобы начать работу.
Я бы посоветовал вам взглянуть на блог Мэта Стивена об обновлении SQL Server.
Основные команды языка манипулирования данными (DML), которые использовались на протяжении многих лет, - это обновить, вставить и удалить. Они делают именно то, что вы ожидаете: Insert добавляет новые записи, Update изменяет существующие записи, а Delete удаляет записи.
Оператор UPSERT изменяет существующие записи, если записи нет, он ВСТАВЛЯЕТ новые записи. Функциональность состояния UPSERT может быть достигнута с помощью двух новых наборов операторов TSQL. Это два новых
EXCEPT
INTERSECT
За исключением: -
Возвращает любые отдельные значения из запроса слева от операнда EXCEPT, которые также не возвращаются из правого запроса
Intersect: - Возвращает любые отдельные значения, которые возвращаются как с левой, так и с правой стороны операнда INTERSECT.
Пример: - Допустим, у нас есть две таблицы Таблица 1 и Таблица 2
Table_1 column name(Number, datatype int)
----------
1
2
3
4
5
Table_2 column name(Number, datatype int)
----------
1
2
5
SELECT * FROM TABLE_1 EXCEPT SELECT * FROM TABLE_2
вернут 3,4, как есть присутствует в Table_1 не в Table_2
SELECT * FROM TABLE_1 INTERSECT SELECT * FROM TABLE_2
вернет 1,2,5, поскольку они присутствуют в обеих таблицах Table_1 и Table_2.
Теперь все проблемы сложных объединений устранены :-)
Чтобы использовать эту функциональность в SSIS, все, что вам нужно сделать, добавить задачу «Выполнить SQL» и поместить туда код.