pl sql。 0行合并

时间:2013-06-24 06:25:38

标签: sql oracle merge

我是merge的新手,所以这个问题可能显得过于愚蠢。

我正在运行

MERGE INTO regions r
   USING regions_temp t
   ON (r.id_region = t.id_region)
    WHEN NOT MATCHED THEN INSERT (r.id_region, r.region_name)
     VALUES (t.id_region, t.region_name);

在运行命令之前,表有以下记录(id_region,region_name):

地区:

1   1   Kiev
2   2   Asia
3   3   Australia
4   4   South America
5   5   Africa

Regions_temp:

1   1   
2   2   Asia
3   3   Australia
4   4   South America

命令成功运行,但在窗口底部显示 0行合并,并且没有记录合并。

很少帮忙?

2 个答案:

答案 0 :(得分:0)

MERGE INTO regions r
   USING regions_temp t
   ON (r.id_region = t.id_region)
    WHEN MATCHED THEN update  set r.region_name =  t.region_name

是我真正需要的

答案 1 :(得分:0)

根据merge_insert_clause documentation

  

merge_insert_clause指定在ON子句的条件为false时插入目标表的列的值。

由于Regions_tempid_region的记录与Regions中的记录不匹配,因此没有要合并的行。