Файл csv содержит 8 столбцов (col1, col2, ..., col8), а имя файла содержит дату, которая также должна быть вставлена в таблицу.sql bulk insert с дополнительной колонкой
Если число столбцов в таблице и столбцы в файле CSV равно следующий импорт запроса всех записи из файла в таблицу:
query += "BULK INSERT real_data FROM '" + path + "' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')";
До сих пор я не нашел решение чтобы изменить запрос таким образом, чтобы новые записи могли содержать дату, извлеченную из имени файла. Во всяком случае я создал функцию, чтобы извлечь дату:
DateTime eventTime = extractDate(path);
и хотел вставить eventTime в 9-м столбца для каждой записи импортируемой из файла.
Кто-нибудь знает, как изменить/создать запрос запроса, чтобы импортировать 8 столбцов из файла и добавить дату как 9-й столбец для каждой импортированной записи?
Спасибо!
Я также использовал это. Предостережение: если вы создали это в утилите, которая будет загружать несколько файлов последовательно, вы не сможете «наблюдать» за загрузкой таблицы, даже с чем-то доброкачественным, как «select count (*) из MyTable с помощью (nolock)». Вам нужно будет создать надежный метод повтора в разделе «ALTER TABLE», потому что ему нужен эксклюзивный доступ к таблице. –
Примечание: если вы можете использовать файл формата bcp, вам не нужно использовать временное представление. –