【问题标题】:Make MERGE statement in BODS在 BODS 中进行 MERGE 语句
【发布时间】:2017-01-25 13:52:44
【问题描述】:

我将 SAP BODS 作为面向 Oracle Exadata 运行的 ETL 工具。我想从 BODS 生成一个包含 where 子句的 merge into 语句,限制在找到匹配项时将更新的列。

我今天的合并语句是这样的:

MERGE INTO TargetTable s 
USING
(SELECT  columns
FROM "sourceTable"
) n 
ON ((s.Column= n.Column) WHEN MATCHED THEN
UPDATE SET s."Column" = n.Column
-----MISSING where clause ------
WHEN NOT MATCHED THEN
INSERT  /*+ APPEND */ (s.columns)
VALUES (n.Columns);

【问题讨论】:

  • 我不清楚您是否需要根据某些条件限制要更新的列或要更新的行。请发布一些示例数据和所需结果以阐明您的需求。

标签: merge oracle11g sap etl sap-data-services


【解决方案1】:

使用 DS 目标自动更正加载。有几个选项可以在那里玩,如果你

允许合并集为“是”

您将生成上述查询。但是请注意,因为应该在目标中设置正确的键才能发生这种情况。

欢呼。 沙兹

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-03
    • 2023-03-05
    • 1970-01-01
    • 2018-12-08
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多