表名:tablename;
字段:id,field1,field2;
值:zid,value1,value2;
merge into tablename a
using (select 'zid' id, 'value1' field1,'value2' field2 from dual) b
on (a.id = b.id)
when matched then
update set a.field1 = b.field1,a.field2=b.field2
when not matched then
insert (a.id, a.field1,a.field2) values (b.id,b.field1, b.field2)