BULK INSERT文でcsvファイルなどで記録しているレコードを取込むことが可能です。
記号はカンマ以外にも指定可能です。
SQL
BULK INSERT
[取込先テーブル]
FROM
"C:\test.csv"
WITH
(
FIELDTERMINATOR = ',' --区切り記号
,ROWTERMINATOR = '\n' --改行コード
,FIRSTROW = 2 --取込開始行
,KEEPNULLS --データがない箇所はNULL値を保つ
)
動的SQLで実行するパターン。
例としてCSVのパスを変数化しています。
SQL
--変数設定
DECLARE @CSVPath nvarchar(MAX) = 'C:\test.csv'
DECLARE @sql nvarchar(MAX)
--動的SQL生成
SET @sql =
'BULK INSERT
[取込先テーブル]
FROM '
+ char(39) + @CSVPath + char(39) + '
WITH
(
FIELDTERMINATOR = '','' --区切り記号
,ROWTERMINATOR = ''\n'' --改行コード
,FIRSTROW = 2 --取込開始行
,KEEPNULLS --データがない箇所はNULL値を保つ
)'
--実行
EXEC (@sql)