Oracle添加数据时如果数据存在就更新,不存在就插入(merge into 的用法)

需求:添加数据时如果数据存在就更新,不存在就插入

语法:

MERGE INTO table_name t using dual  on (//条件 )
WHEN MATCHED THEN
    UPDATE table_name SET col1 = col_val1
WHEN NOT MATCHED THEN
    INSERT (column_list) VALUES (column_values);

例子:

    merge into user_table t1 using (select 99999 as user_skey2, 9999 as user_id2 from dual) t2 on  (t1.user_skey = t2.user_skey2)
when matched then
     update  set t1.last_name = '测试'
when not matched then 
     insert  (t1.user_skey , t1.user_id, last_name, first_name, ba_no , dept_id) values (1111,222, '测试', '林', 111 ,10)

 

正在加载评论...