如何从 SSIS 中的源列输入创建新行?

How can I create new rows from source column input in SSIS?

我的源数据如下所示:

CREATE TABLE [dbo].[exampleSource](
    [PK] [uniqueidentifier] NOT NULL,
    [Name] [varchar](200) NULL,
    [RelatedCodes] [varchar](max) NULL,
    CONSTRAINT [PK_exampleSource] PRIMARY KEY CLUSTERED 
(
    [PK] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
INSERT [dbo].[exampleSource] ([PK], [Name], [RelatedCodes]) VALUES (N'83ce3647-469d-e211-892f-001321b3540c', N'Promo1', NULL)
GO
INSERT [dbo].[exampleSource] ([PK], [Name], [RelatedCodes]) VALUES (N'02641b86-0564-e211-8dd3-001321b3540c', N'Promo2', N'NA')
GO
INSERT [dbo].[exampleSource] ([PK], [Name], [RelatedCodes]) VALUES (N'8d51fcd8-eae7-e111-a266-001321b3540c', N'Promo3', N'Code1;Code2')
GO
INSERT [dbo].[exampleSource] ([PK], [Name], [RelatedCodes]) VALUES (N'e9a37ae1-eae7-e111-a266-001321b3540c', N'Promo4', N'Code3;Code4')
GO
INSERT [dbo].[exampleSource] ([PK], [Name], [RelatedCodes]) VALUES (N'21702ee0-fc2f-e211-a5fd-001321b3540c', N'Promo5', N'Code5;Code6;Code7;Code8')
GO

列出的代码是我数据仓库中另一个table中的PK,所以我想用这个源创建一个桥table..

我知道我可以在 SSIS 中使用 TOKEN 将值(如 RelatedCodes 中的值)拆分为列。但是我如何创建新行?

您可以使用 SQL(不需要 SSIS 转换)SPLIT_STRING() 函数和交叉应用来实现。示例可以参考以下官方文档: