2

我想创建一个Spoon适用于列的多个值的转换。我的转换输入是一个 CSV 文件。在该 CSV 文件中有一个名为“技术”的列,其中包含 0 个或多个由分号分隔的值,如下所示。

+------------------------------------------------------+

 row_id |   Technology
+------------------------------------------------------+

1       | Cobol ; Db2 ; Jcl ; Vsam ; Cics ; Changeman ;

2       | Oracle ; Sql ; Db2 ; Oracle 9i ;

3       | Windows 2000 ; SQL ;
+------------------------------------------------------+

我在数据库中有一个名为“技术”的表,其架构如下:

+----------------------+

Technologies

+----------------------+
 id   | technology_name

+----------------------+

其中idcolumn 设置为自动递增。

technology仅当表中不存在该值时,我才想插入列的值Technologies

谁能告诉我

1) 使用哪种类型的步骤来拆分technology列的值?2)如何只插入一次值?例如 in row 1and row 2,Db2重复但我只想插入Db2一次。

提前致谢 !

4

1 回答 1

4

使用“拆分字段”(在“转换”下)拆分内容。

CSV 文件输入 --> 拆分字段 --> 其余转换

将“要拆分的字段”设置为“技术”,并将“分隔符”设置为分号。

关于非重复字段,我的建议是您将名称本身作为表格的关键。将其转换为小写并用数据库安全等效替换任何空格/特殊字符,然后将其设为主键。您最终应该得到一个只包含唯一实例的表。

hth

于 2012-02-16T23:06:31.543 回答