[AzureSQL]CSVファイルをBULK INSERTするクエリ

ポイント

  • Azure SQL DatabaseのBLUK INSERTは BLOBからのみのため、BLOBにファイルを置く必要がある。
  • BLOBへのアクセスのために、BUIK INSERTする前にCREDENTIALを作る必要がある。
    BLOBのストレージ BLOB データ共同作成者ロールにSQL DatabaseのマネージドIDを登録しておくこと。

コードサンプル

CREATE DATABASE SCOPED CREDENTIAL myCred1
WITH IDENTITY = 'Managed Identity';

create external data source myBlob1
WITH(
    TYPE = BLOB_STORAGE,
    LOCATION = '<BLOBコンテナへのURL 例…https://xxxx.blob.core.windows.net/testdata>',
    CREDENTIAL = myCred1
);

bulk insert <insert先のテーブル名>
from '<CSVファイル名>'
with(
    FORMAT = 'CSV',
    FIRSTROW = 2,  -- CSVのヘッダがある場合は2、1行目からデータの場合は1
    FIELDTERMINATOR = '\t',  --デリミタがタブの場合は\t
    DATA_SOURCE = 'myBlob1'
)

参考情報

BULK INSERT (Transact-SQL) – SQL Server | Microsoft Learn

コメントを残す