2017-11-07 12 views
0

データテーブルにCSV文字列を格納します。私は後でそのcsvから一時テーブルを作成する必要がありますが、BULK INSERTはデータソースとしてファイル名しか提供しません。SQL Server:列に格納されたCSV文字列の一括挿入

文字列からインポートする可能性はありますか?

は、SQL Serverのテーブルに正規化されていないCSVデータを保存することは望ましくない、ありがとうと一般的に

ガブリエル

+1

区切られたデータを行に解析する必要があると思いますか?それを処理する最善の方法は、区切られたデータを格納しないことです。これは、リレーショナルデータという概念には違反しています。 –

+0

小さなサンプルが参考になります。あなたのcsv muli-lineですか?ヘッダーを含んでいますか? –

答えて

1

について。それは、データを照会して作業することを非常に困難にします。それは時々我々は悪いデザインの決定で生きなければならないと言われています。つまり、CSVの列をファイルに書き込むことができます。 SSMSのクエリ]メニューからSQLCMDモードを選択し、次のように入力します。

:OUT c:\path\to\your\file.csv 
SET NOCOUNT ON;SELECT csv_column FROM dbo.yourTable 

今、あなたは善意のCSVファイルを持っていることを、あなたはBULK INSERTを使用することができるはずです。ここでは、インポートするCSVデータが単一の列csv_columnに含まれ、データが整えられていると仮定しています(たとえば、各レコードのカンマ数などが同じです)。

関連する問題