Как обрабатывать внешний ключ при импорте данных из Excel в SQL Server
У меня есть сырые данные в листе Excel. Я разрабатываю базу данных на SQL Server с ограничениями внешнего ключа, теперь я хочу импортировать данные из моего листа Excel в базу данных SQL Server (с несколькими таблицами с ограничениями внешнего ключа).
Подскажите, пожалуйста, как мне обрабатывать внешний ключ при импорте данных в мою базу данных? Я новичок в базе данных SQL Server, любая учебная ссылка будет полезна.
Заранее спасибо.
2 ответа
Вы не можете полагаться на данные, которые экспортируются с помощью Excel. Я предлагаю вам следующий подход.
Сброс данных в промежуточную таблицу без каких-либо ограничений.
Проверьте данные, прежде чем переходить к основной таблице. Для этого вы можете использовать
where exists
условие, чтобы проверить, присутствуют ли данные в таблице внешнего ключа или нет.Записи, которые не прошли проверку, вы можете сообщить о них обратно пользователю.
Если вы можете использовать SQL Server Integration Services, преобразование поиска подойдет вам. Это пример: http://www.learnmsbitutorials.net/ssis-lookup-transformation-example.php
Мы также предлагаем надстройку Excel для импорта и обновления данных в SQL Server из Excel. Он имеет возможность создавать раскрывающиеся списки в Excel для связи с внешними ключами. Затем пользователь выберет текстовый элемент в Excel (извлеченный из таблицы внешнего ключа), и соответствующее значение ключа будет вставлено в таблицу в SQL Server. Более подробная информация доступна здесь: https://sqlspreads.com/