SQL データベースにロードする必要がある CSV ファイルがあります。問題は、いくつかのデータを異なるテーブルに分割する必要があることです。読み込み中に、最初の部分が最初のテーブルに読み込まれるときに、データベースに他のデータを読み込もうとすると、2 番目のテーブルの外部キー フィールドに入力される ID を取得する必要があります。
データの整合性を維持して、CSV ファイルからのデータを使用して複数のテーブルにデータをロードするにはどうすればよいですか?
SQL データベースにロードする必要がある CSV ファイルがあります。問題は、いくつかのデータを異なるテーブルに分割する必要があることです。読み込み中に、最初の部分が最初のテーブルに読み込まれるときに、データベースに他のデータを読み込もうとすると、2 番目のテーブルの外部キー フィールドに入力される ID を取得する必要があります。
データの整合性を維持して、CSV ファイルからのデータを使用して複数のテーブルにデータをロードするにはどうすればよいですか?
-私のソースファイル
Part1,Part2
A,a
B,b
C,c
-手順
一時テーブルを作成する
CREATE TABLE [dbo]。[Part1And2]([RowID] [int] IDENTITY(1,1)NOT NULL、[Part1] varchar NULL、[Part2] varchar NULL)ON [PRIMARY]
ExceuteSQLタスクを使用してこのテーブルを切り捨てます
DFT 1:ファイルを一時テーブルにロードします。これで、Part1とPart2のフィールドセットが結合されます。ソース:ソースファイル宛先:作成したテーブル。
DFT 2:データを分割しますソース:ロードしたばかりの一時テーブルマルチキャストにフィードしますtskマルチキャストから2つの出力を作成し、それらを個々のテーブルに接続します(パート1とパート2を言います)各テーブルのフィールドを選択しますこの例では、テーブルパート1 RowIDとPart1の2つのフィールドがあります。テーブルPart2:RowIDとPart2
これは出発点にすぎません。次のファイルセットを入手したらどうしますか。IDはどのように割り当てられますか?