2015-01-23 8 views
0

Я хочу импортировать данные csv в sql-сервере. Я искал и нашел ответы о BULK INSERT ... FROM.Импорт CSV-файла в SQL-сервер

Проблемы у меня есть:

  • Я хочу, чтобы выбрать только один столбец из моих результатов
  • таблицы уже существует с плохой DATAS, и я просто хочу, чтобы обновить эти поля

В CSV I были города и его параметры (правильные данные)

Town,Id,ZipCode,... 
T1,1,12000 
T2,2,12100 
T3,3,12200 

И стол в «город» SQL Server содержит, например T1,1,30456 T2,2,36327 T3,3,85621

Я просто хочу, чтобы получить ZipCode в CSV и обновить ZipCode в таблице в функция ID. Существует ли простой способ сделать это?

+1

Можете ли вы вставлять массив в таблицу temp, а затем обновлять таблицу 'city', присоединяя ее к таблице temp на' Id'? –

+1

Вы также можете изучить SSIS. –

+0

Другой вариант - использовать 'OPENROWSET' и читать непосредственно из файла csv. Вы можете рассматривать его как таблицу и обновлять, используя 'join'. – SQLChao

ответ

0

Обычно я предпочитаю bcp над объемной вставкой, потому что вы можете легко импортировать файлы по сети, и есть меньше проблем с правами доступа. В противном случае я бы просто загрузил данные в tempdb и обновил исходную таблицу.