サーチ…


オプション付きのBULK INSERT

WITH句のさまざまなオプションを使用して解析ルールをカスタマイズできます。

BULK INSERT People
FROM 'f:\orders\people.csv'  
WITH  (  CODEPAGE = '65001',  
         FIELDTERMINATOR =',',  
         ROWTERMINATOR ='\n'  
      ); 

この例では、CODEPAGEは、UTF-8ファイル内のソース・ファイルおよびTERMINATORSが昏睡および改行であることを指定します。

バルク挿入

BULK INSERTコマンドを使用してファイルをSQL Serverにインポートすることができます。

BULK INSERT People
FROM 'f:\orders\people.csv'  

BULK INSERTコマンドは、ターゲット表の列を含むファイルの列をマップします。

OPENROWSET(BULK)を使用してファイルの内容全体を読む

OPENROWSET(BULK)関数を使用してファイルの内容を読み込み、いくつかのテーブルに内容を格納することができます。

INSERT INTO myTable(content)   
   SELECT BulkColumn
          FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document; 

SINGLE_BLOBオプションはファイル全体からシングルセルとして読み込みます。

OPENROWSET(BULK)と書式ファイルを使用してファイルを読み込む

Yuは、FORMATFILEオプションを使用してインポートされるファイルの形式を定義できます。

INSERT INTO mytable
SELECT a.* 
FROM OPENROWSET(BULK 'c:\test\values.txt',   
   FORMATFILE = 'c:\test\values.fmt') AS a;  

書式ファイルformat_file.fmtは、values.txtの列を記述します。

9.0  
2  
1  SQLCHAR  0  10 "\t"        1  ID                SQL_Latin1_General_Cp437_BIN  
2  SQLCHAR  0  40 "\r\n"      2  Description       SQL_Latin1_General_Cp437_BIN  

OPENROWSET(BULK)を使用してjsonファイルを読み込む

OPENROWSETを使用してファイルの内容を読み取り、結果を解析する他の関数に渡すことができます。

次の例では、OPENROWSET(BULK)を使用してJSONファイルの内容全体を読み込み、JSONを解析して列を返すOPENJSON関数にBulkColumnを提供する例を示します。

SELECT book.*
 FROM OPENROWSET (BULK 'C:\JSON\Books\books.json', SINGLE_CLOB) as j
 CROSS APPLY OPENJSON(BulkColumn)
       WITH( id nvarchar(100), name nvarchar(100), price float,
             pages int, author nvarchar(100)) AS book


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow