SQL BULK INSERT с созданием таблицы на лету
Я хотел бы использовать BULK INSERT для загрузки нескольких сотен таблиц необработанных данных в SQL Server. Формат этих таблиц будет аналогичным, но не идентичным (они взяты из таблиц Excel, которые не контролируются версиями).
Я хочу знать, есть ли способ динамически генерировать таблицу, требуемую на SQL Server, в зависимости от заголовков загружаемого файла, а затем выполнить BULK INSERT после этого.
2 ответа
Решение
Вы можете подключиться к этим таблицам Excel, используя OPEN ROWSET. Затем сделайте следующее:
SELECT *
FROM Excel
INTO NewTable
WHERE 0=1
Это перенесет схему. Это то, что вы хотите?
Вы можете создать сценарий Excel, который будет генерировать SQL-операторы для создания таблиц, а затем выполнить файл перед массовой вставкой данных.