2013-06-24 29 views
0

我是merge的新手,所以這個問題可能顯得太愚蠢。pl sql。 0行合併

我跑

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
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 

是我真正需要的

0

按照merge_insert_clause documentation

的merge_insert_clause指定值插入到目標表中的列,如果ON子句的條件爲假。

由於不在Regions_tempid_region不匹配Regions創下紀錄,有沒有要合併的行。