我是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行合并,并且没有记录合并。
很少帮忙?
答案 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_temp
中id_region
的记录与Regions
中的记录不匹配,因此没有要合并的行。