merge into user_table t1 using(select 'test1' as roleName ,'test2' as roleDesc from DUAL ) t2 on (t1.role_name = t2.roleName)
when matched then
update set t1.role_Desc = t2.roleDesc where t1.role_name = t2.roleName
when not matched then
insert( role_name, role_desc,create_date,update_date) values (t2.roleName,t2.roleDesc,to_date('2007-06-04','yyyy-mm-dd'),to_date('2007-06-04','yyyy-mm-dd'))
注意:这里的表t2 是个虚表,不能直接用主表 t1来代替 ,使用 dual 虚拟表更好