2012-06-13 4 views
4

В настоящее время я пытаюсь импортировать около 10000 строк (из файла CSV) в существующую таблицу.SQL Server 2012 Импорт CSV в сопоставленные столбцы

У меня только один столбец, который я пытаюсь импортировать, но в моей таблице есть еще один столбец с именем TypeId, который мне нужно установить на статическое значение, то есть 99E05902-1F68-4B1A-BC66-A143BFF19E37.

Так что мне нужно что-то вроде

INSERT INTO TABLE ([Name], [TypeId]) 
Values (@Name (CSV value), "99E05902-1F68-4B1A-BC66-A143BFF19E37") 

Любые примеры было бы здорово.

Благодаря

+2

Не могли бы вы сделать это? Импортируйте CSV в столик. Затем используйте обычный оператор insert для копирования значений, а также статического значения в таблицу назначения? * [Поскольку файлы CSV не имеют безопасности типа, я обычно копирую их в таблицу холдинга и проверяю строки до того, как я даже подумаю о вставке данных в таблицу назначения.] * – MatBailie

+0

Да, я могу импортировать в таблицу temp и затем сделайте вставку, не знаете, предложили ли 2012 какие-либо сексуальные улучшения для этой общей проблемы. –

ответ

5

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

DECLARE @TempTable TABLE (Name nvarchar(max)) 

BULK INSERT @TempTable 
FROM ‘C:\YourFilePath\file.csv’ 
WITH (FIELDTERMINATOR = ‘,’, 
ROWTERMINATOR = ‘\n’ 
) 

INSERT INTO TABLE ([Name], [TypeId]) 
Select Name,'99E05902-1F68-4B1A-BC66-A143BFF19E37' from @TempTable 
+0

Я думаю, что 'INSERT' является большой синтаксической ошибкой. – MatBailie

+0

Моя ошибка обновила мой ответ. – praveen

2

Если вы готовы использовать инструмент, чтобы сделать это, вы можете использовать Мастер импорта и экспорта SQL Server. Вы можете запустить мастер импорта и экспорта SQL Server из меню «Пуск», из SQL Server Management Studio, из SQL Server Data Tools (SSDT) ​​или в командной строке. С помощью этого инструмента вы можете легко с легкостью отобразить столбец адресата и источника. Позже, если вы хотите обновить другой столбец, вы можете использовать код.