Azure DataFactory Foreach Copy Upsert,如何创建和使用键列

问题描述 投票:0回答:1

我有多个表,我想为每个表创建一个键列,该键列将动态用于更新插入

这是所有表格列表的预览。在所有这些表中,我们需要创建将用作更新插入操作的关键列的关键列。 enter image description here

sql-server foreach azure-data-factory schema pipeline
1个回答
0
投票

要在 ADF 中更新插入多个表,您需要获取各个表的键。

这里我使用主键作为更新插入的键。我正在使用下面的查询来获取表及其主键的列表。

select C.* FROM  
INFORMATION_SCHEMA.TABLE_CONSTRAINTS T  
JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE C  
ON C.CONSTRAINT_NAME=T.CONSTRAINT_NAME;

enter image description here

这些是我的桌子:

样本1:

enter image description here

样本2:

enter image description here

将查找数组提供给 ForEach 活动。

我有与表名称相同名称的源 csv 文件。因此,我使用了数据集参数作为文件名,并给出了如下所示的文件名表达式。

@concat(item().TABLE_NAME,'.csv')

enter image description here

在接收器中,我也使用数据集参数作为架构名称和表名称。

enter image description here

Key columns 动态内容仅接受数组。因此,将我们的键列作为数组

@createArray(item().COLUMN_NAME)

执行管道,您可以看到我的表值已被更新。

样本1:

enter image description here

样本2:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.