Обновление таблицы SQL с данными CSV? - PullRequest
1 голос
/ 27 августа 2010

Я пытаюсь обновить одну из моих таблиц SQL новыми столбцами в исходном CSV-файле. Записи CSV в этом файле уже находятся в этой таблице SQL, но в этой таблице SQL отсутствуют некоторые новые столбцы из этого файла CSV.

Я уже добавил новые столбцы в структуру таблицы SQL через ALTER TABLE. Но теперь мне просто нужно импортировать данные из этого CSV-файла в новые столбцы. Как я могу это сделать? Я пытаюсь использовать SSIS и SQL Server для достижения этой цели, но я довольно плохо знаком с Excel.

Ответы [ 2 ]

3 голосов
/ 16 января 2014

Возможно, уже слишком поздно решать проблему спасения;хотя я публикую это для будущих читателей!Вы можете просто сгенерировать команду SQL INSERT / UPDATE / etc, проанализировав файл csv (подойдет простой скрипт на python).

В качестве альтернативы вы можете использовать этот онлайн-анализатор: http://www.convertcsv.com/csv-to-sql.htm (надеясь, что он все еще будет доступен, когда вы нажмете!) Для генерации вашей команды SQL.Интерфейс чрезвычайно прост и отлично справляется со своей работой.

2 голосов
/ 28 августа 2010

У вас есть несколько вариантов:

  1. Если вы загружаете данные в непроизводственную систему, где вы можете редактировать целевые таблицы, вы можете загрузить данные в новую таблицу, переименовать старую таблицу в устаревшую и переименовать новую таблицу в старое имя таблицы.

  2. Вы можете загрузить данные в промежуточную таблицу, а затем написать инструкцию SQL для обновления целевой таблицы из промежуточной таблицы.

  3. Вы можете открыть файл CSV в Excel и написать формулу для создания сценария обновления, перетащить формулу вниз по всем строкам, чтобы получить отдельный оператор обновления для каждой строки, а затем запустить отдельные операторы обновления в студии управления.

  4. Вы можете усечь целевую таблицу и обновить существующий пакет ssis, который импортирует файл, чтобы использовать новые столбцы, если у вас есть полная история в вашем CSV-файле.

Вариантов больше, но любой из вышеперечисленных может быть более чем адекватным решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...