Можно ли выполнить поиск по внешнему ключу при импорте данных в SQL Server 2005?
Фон
У меня есть электронная таблица данных, которую я импортирую в SQL Server 2005. Для этого я использую мастер импорта в Management Studio.
проблема
Я импортирую данные в таблицу A. Таблица A содержит ссылку внешнего ключа на таблицу B. Моя электронная таблица содержит значение в таблице B, и мне нужен ключ для этого значения, чтобы я мог поместить его в таблицу A. Есть ли способ сделать этот поиск как часть мастера импорта?
2 ответа
Мастер импорта должен позволять вам создавать собственный запрос для импорта, а не свой собственный.
Итак, с этим вы можете сделать что-то вроде:
INSERT INTO tableA(c1, c2, c3)
SELECT c1, c2, TableB.pk
FROM
inputtable
INNER JOIN TableB ON TableB.anotherfield = inputtable.bcol
Если у вас есть стандартная или корпоративная версия, вы можете использовать SSIS (студия разработки BI) для редактирования пакета, создаваемого мастером. Используйте преобразование " Уточняющий запрос", чтобы получить ключ. Если у вас возникли проблемы с типами данных (часто при использовании источника Excel), используйте преобразование " Преобразование данных" после источника Excel,