我在 Visual Studio SSIS 中构建它 - 我有两个表,每个表有三个字段。一张表是我加载每日值的临时表,另一张是生产表。我想获取每日临时表,如果记录存在于 prod 表中,我想通过将 prod 表中已有的值添加到来自 temp 表的值来更新汇总值。下面是我认为可以工作的代码,但我收到“错误:创建更新 EMS 摘要表中的 0xC002F210,执行 SQL 任务:执行查询“合并 EMSComplianceTrnSummary 作为使用 EMSE 的目标...”的错误,并出现以下错误: "MERGE 语句中使用的插入列列表不能包含多部分标识符。"
有什么帮助来完成这项工作吗?
SQL 代码:
MERGE EMSComplianceSummary as target
USING EMSComplianceSummaryTemp as source ON (target.key = source.key)
WHEN MATCHED THEN
UPDATE SET target.sumtoon = target.sumtoon + source.sumtoon,
target.summoving = target.summoving + source.summoving
WHEN NOT MATCHED THEN
INSERT (target.trainkey, target.sumtoon, target.summoving)
VALUES (source.trainkey, source.sumtoon, source.summoving)