Как обрабатывать внешний ключ при импорте данных из Excel в SQL Server

У меня есть сырые данные в листе Excel. Я разрабатываю базу данных на SQL Server с ограничениями внешнего ключа, теперь я хочу импортировать данные из моего листа Excel в базу данных SQL Server (с несколькими таблицами с ограничениями внешнего ключа).

Подскажите, пожалуйста, как мне обрабатывать внешний ключ при импорте данных в мою базу данных? Я новичок в базе данных SQL Server, любая учебная ссылка будет полезна.

Заранее спасибо.

2 ответа

Вы не можете полагаться на данные, которые экспортируются с помощью Excel. Я предлагаю вам следующий подход.

  1. Сброс данных в промежуточную таблицу без каких-либо ограничений.

  2. Проверьте данные, прежде чем переходить к основной таблице. Для этого вы можете использовать where exists условие, чтобы проверить, присутствуют ли данные в таблице внешнего ключа или нет.

  3. Записи, которые не прошли проверку, вы можете сообщить о них обратно пользователю.

Если вы можете использовать SQL Server Integration Services, преобразование поиска подойдет вам. Это пример: http://www.learnmsbitutorials.net/ssis-lookup-transformation-example.php

Мы также предлагаем надстройку Excel для импорта и обновления данных в SQL Server из Excel. Он имеет возможность создавать раскрывающиеся списки в Excel для связи с внешними ключами. Затем пользователь выберет текстовый элемент в Excel (извлеченный из таблицы внешнего ключа), и соответствующее значение ключа будет вставлено в таблицу в SQL Server. Более подробная информация доступна здесь: https://sqlspreads.com/

Другие вопросы по тегам