使用 SSIS 将单个字段值拆分为第二个表中的多行

Posted

技术标签:

【中文标题】使用 SSIS 将单个字段值拆分为第二个表中的多行【英文标题】:Use SSIS to split a single field value into multiple rows in a second table 【发布时间】:2020-08-26 19:44:45 【问题描述】:

所以情况是我正在编写一个 SSIS 包来将数据从旧数据库迁移到新数据库。在旧数据库中,我们有一个名为 cmets 的 Text 列,其中有时会填充 30MB 的文本。其中大部分是带有时间戳的评论线程。我想通过使用正则表达式或类似的东西来使用时间戳来拆分数据并将其移动到名为 cmets 的第二个子表中。然后它还需要引用原始记录的PK。谢谢!

所以

Table1 [Profile]
PK | Comments
1  | '<timestamp> blah <timestamp> blah blah'
will turn into 
Table1 [Profile]
PK | Comments
1  | ''
Table2 [Comments]
PK | FK | Comment
1  | 1  | '<timestamp> blah'
2  | 1  | '<timestamp> blah blah'

【问题讨论】:

有很多方法可以解决这个问题,我可能会使用 C# 脚本任务来完成繁重的工作。在 SQL 中使用 string_split 也可以。 【参考方案1】:

按照 wp78de 的建议,我通过创建脚本任务并在复制时修改输出来解决此问题。

【讨论】:

以上是关于使用 SSIS 将单个字段值拆分为第二个表中的多行的主要内容,如果未能解决你的问题,请参考以下文章

Access 中的查找值

大查询:加入第二个表中的单个最新行

Excel:使用一个表中的值在第二个表中查找值

MySQL从一个表中选择行,第二个表中有多行,并在所选行中获取多行数组

如何使用子查询的多行返回值插入表中?

将第二个表中的第二个(条件)结果添加到 SQL 查询