【发布时间】:2022-02-11 20:04:06
【问题描述】:
我有数据流正在执行一些连接和对列的计数,然后这些列沉入 Azure SQL 表。 Azure SQL 表结构有一个 GUID 作为 ID 列。
我想要的是当计数列中的值发生变化时,它会在 Azure SQL 表中更新。而不是插入。
我在 SQL 中使用此代码使其工作,但我想在 ADF Dataflow 中实现它。我正在使用 Alter Row 表达式 true() 进行更新。在计数方面似乎不起作用。不知道我错在哪里。 如果需要,请要求澄清。
下面是有效的 SQL 代码,我想在 ADF 中实现它。
MERGE [Target] AS [T]
USING [#Temp] AS [S]
ON [T].[Filter] = [S].[Filter]
AND ISNULL([T].[OrganisationGroup], '') = ISNULL([S].[OrganisationGroup], '')
AND ISNULL([T].[ItemCatalog], '') = ISNULL([S].[FinancialReference], '')
AND ISNULL([T].[CIType], '') = ISNULL([S].[CIType], '')
AND ISNULL([T].[ConfigurationItemTypeName], '') = ISNULL([S].[ConfigurationItemTypeName], '')
AND ISNULL([T].[Status], '') = ISNULL([S].[Status], '')
AND ISNULL([T].[Further_Detail], '') = ISNULL([S].[Further_Detail], '')
AND ISNULL([T].[PartitionKey], '') = ISNULL([S].[PartitionKey], '')
WHEN MATCHED AND [T].[CICount] <> [S].[CICount] THEN
UPDATE SET [T].[CICount] = [S].[CICount]
WHEN NOT MATCHED BY SOURCE THEN
DELETE
WHEN NOT MATCHED THEN
INSERT
【问题讨论】:
-
有人可以回答吗
标签: sql-server azure-data-factory azure-data-flow