フォーマットファイルを使用して、.csvファイルから物理サンプルテーブルにインポートするには、次の操作を実行できます。私はそれが働いている。次の例では、INSERTを使用しOPENROWSET一括行セットプロバイダXMLバルクフォーマットファイルで.csvファイルからOpenrowsetを挿入してTEMPORARYテーブルを作成する
を使用して
... SELECT * OPENROWSET(BULK ...)FROM myTestFormatFiles-c.Datデータファイルから 一括インポートデータへAdventureWorksサンプル のHumanResources.myTestFormatFilesテーブルに データベースに追加します。この例では、XML形式のファイルMyTestFormatFiles.Xmlを使用しています。 この例では、データ ファイルをインポートする前に既存のテーブル行が削除されます。 SQL Server Management Studioのクエリエディタで、次のコマンドを実行します
USE AdventureWorks2012;
DELETE myTestFormatFiles;
GO
INSERT INTO myTestFormatFiles
SELECT *
FROM OPENROWSET(BULK 'C:\myTestFormatFiles-c.Dat',
FORMATFILE='C:\myTestFormatFiles.Xml'
) as t1 ;
GO
SELECT * FROM myTestFormatFiles;
GO
-- When you finish using the sample table, you can drop it using the following statement:
DROP TABLE myTestFormatFiles
は、しかし、私がやりたいまさにこのしかし、1つが作成できるのと同じように、まだ存在していない一時的 #table(にインポートselect into文を持つ新しいテーブル)。それは可能ですか?
補助質問:select intoを使用して一時テーブルを作成できますか? select into to create a tableを使用することができます。
今、私はそれにテーブルとインポートを作成するために、まだ既存の一時テーブルにインポートバルクOPENROWSETを使用することができます。
INSERT INTO #TestFormatFiles
SELECT *
FROM OPENROWSET(BULK 'C:\myTestFormatFiles-c.Dat',
FORMATFILE='C:\myTestFormatFiles.Xml'
) as t1 ;
GO
テストは私に何を伝えない:Invalid Object name #TestFormatFiles
しかし、なしの方法があります既存のテーブルから一時テーブルを作成する必要がありますか?
はあなたが事前に挿入されているか、それが異なりますデータの構造を知っていますか? – RT72
今すぐ試す時間はありませんが、通常の方法で試してみましたか?テーブルが作成され、 'select * into #tmp from ...' –