database compatibility assessment

ORACLE MERGE INTO 目标为内联视图 迁移 opengauss 6.0 A 模式 怎么改

迁衡基于规则 ora.ddl.merge_into_view 分析 ORACLE MERGE INTO 目标为内联视图 到 opengauss 6.0 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:gaussdb 505 · MERGE 目标改实表
支持度none
严重度major
置信度high
依据规则ora.ddl.merge_into_view

怎么改

需按命中位置逐条评估改写

判定说明

MERGE 目标改实表

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:目标必须改实表,过滤条件前移到 ON/USING;需要验证原内联视图是否屏蔽了不可更新列或行。

规则样例

MERGE INTO (SELECT * FROM t WHERE flag = 'Y') d USING s ON (d.id=s.id) WHEN MATCHED THEN UPDATE SET d.v=s.v
MERGE INTO (SELECT id, v FROM target) t USING src s ON (t.id = s.id) WHEN MATCHED THEN UPDATE SET t.v = s.v
MERGE INTO target t USING src s ON (t.id = s.id) WHEN MATCHED THEN UPDATE SET t.v = s.v

参考来源