我有一个 CSV 文件,需要将其加载到 SQL 数据库中。问题是,我需要将一些数据拆分到不同的表中。在加载过程中,我需要确保当第一部分加载到第一个表中时,当我尝试加载数据库中的其他数据时,我会获得将放入第二个表的外键字段中的 ID。
如何通过保持数据完整性将数据加载到来自 CSV 文件的数据的多个表中?
我有一个 CSV 文件,需要将其加载到 SQL 数据库中。问题是,我需要将一些数据拆分到不同的表中。在加载过程中,我需要确保当第一部分加载到第一个表中时,当我尝试加载数据库中的其他数据时,我会获得将放入第二个表的外键字段中的 ID。
如何通过保持数据完整性将数据加载到来自 CSV 文件的数据的多个表中?
-- 我的源文件
Part1,Part2
A,a
B,b
C,c
- 脚步
创建临时表
创建表 [dbo].[Part1And2]( [RowID] [int] IDENTITY (1,1) NOT NULL, [Part1] varchar NULL, [Part2] varchar NULL ) ON [PRIMARY]
使用执行 SQL 任务截断此表
DFT 1:将文件加载到临时表中。现在第 1 部分和第 2 部分字段集已耦合。源:您的源文件目标:您创建的表。
DFT 2:拆分数据源:刚刚加载的临时表 将其馈送到多播 tsk 从多播创建两个输出并将它们连接到各个表(例如 Part1 和 Part2) 选择每个表的字段 在我们的示例中,表 Part1将有两个字段 RowID 和 Part1 表 Part2 :RowID 和 Part2
这只是起点。想想当你拿到下一组文件时你会怎么做。如何分配 ID?