В SQL Server 2005 было добавлено множество новых функций. Среди них массовая функция в функции OPENROWSET позволяет пакетно импортировать данные различных типов файлов в базу данных. Согласно MSDN:
BULK — это новый поставщик набора строк, указанный в функции OPENROWSET, который позволяет получать доступ к данным файла в реляционном формате. Чтобы получить данные из файла, вы указываете параметр BULK, имя файла и файл формата, созданный с помощью bcp.exe или вручную. Вы можете указать имя столбца результата в круглых скобках после псевдонима таблицы, возвращенной из OPENROWSET. Ниже приведен пример, кратко поясняющий
наличие файла TXT:
Asia.txt
1, Мизухо, Фукусима, Токио
2, Миника, Панг, Тайбэй
3, Джен, Амбеланг, Индия
4, Цзян, Хун, Шанхай
5, Ада, Ку, Гонконг
И мы создаем таблицу данных под названием регион
СОЗДАТЬ ОБЛАСТЬ ТАБЛИЦЫ
(ИД INT,
РЕГИОН ВАРЧАР(25),
ДАННЫЕ ВАРЧАР (МАКС.)
)
Мы можем использовать массовую функцию для добавления данных в таблицу регионов.
ВСТАВИТЬ В РЕГИОН (ИДЕНТИФИКАТОР, РЕГИОН, ДАННЫЕ)
ВЫБЕРИТЕ 1 КАК ИДЕНТИФИКАТОР, «АЗИЯ» КАК РЕГИОН,
* ИЗ OPENROWSET( BULK 'C:DATAASIA.TXT',SINGLE_CLOB)
AS MYTABLE
поле данных в таблице регионов представляет собой содержимое текстового файла asia.txt.
Источник: БЛОГ jackyrong