相关疑难解决方法(0)

在Oracle SQL中执行MERGE时,如何更新SOURCE中不匹配的行?

我有一个main数据库和report数据库,我需要从同步表mainreport.

但是,当一个项目在main数据库中被删除时,我只想IsDeletedreport数据库中设置一个标志.

这样做的优雅方式是什么?

我目前正在使用MERGE语句,如下所示:

MERGE INTO report.TEST target
USING (SELECT * FROM main.TEST) source
   ON (target.ID = source.ID)
WHEN MATCHED THEN
    UPDATE SET (target... = source...)
WHEN NOT MATCHED THEN
    INSERT (...) VALUES (source...)
;
Run Code Online (Sandbox Code Playgroud)

WHEN NOT MATCHED语句为我提供了所有新值main,但我也希望更新所有OLD值report.

我正在使用Oracle PL/SQL.

sql oracle sql-merge

14
推荐指数
3
解决办法
11万
查看次数

标签 统计

oracle ×1

sql ×1

sql-merge ×1