MERGE INTO

    进行MERGE INTO操作的用户需要同时拥有目标表的UPDATE和INSERT权限,以及源表的SELECT权限。

    • plan_hint子句

      以/*+ */的形式在MERGE关键字后,用于对MERGE对应的语句块生成的计划进行hint调优,详细用法请参见章节使用Plan Hint进行调优。每条语句中只有第一个/*+ plan_hint */注释块会作为hint生效,里面可以写多条hint。

    • INTO子句

      指定正在更新或插入的目标表。

    • talbe_name

      目标表的表名。

    • partition_clause

      指定分区MERGE操作:

      如果value子句的值和指定分区不一致,会抛出异常。

    • USING子句

      指定源表,源表可以为表、视图或子查询。

    • ON子句

      关联条件,用于指定目标表和源表的关联条件。不支持更新关联条件中的字段。

    • WHEN MATCHED子句

      不支持更新系统表、系统列。

    • WHEN NOT MATCHED子句

      当源表和目标表中数据针对关联条件无法匹配时,选择WHEN NOT MATCHED子句进行INSERT操作。

      不支持INSERT子句中包含多个VALUES。

      WHEN MATCHED和WHEN NOT MATCHED子句顺序可以交换,可以缺省其中一个,但不能同时缺省,不支持同时指定两个WHEN MATCHED或WHEN NOT MATCHED子句。

    • WHERE condition