var1是主键,dup_val_on_index指当insert时数值违反唯一约束
下面是存储过程
create or replace PROCEDURE SAVE_OR_UPDATE(var1 varchar2, var2 number, var3 number)
ASBEGIN
insert into table_name (column1,column2,column3) values (var1,var2,var3);
exception
when dup_val_on_index then
UPDATE table_name SET column2=var2, ,column3=var3where column1=var1;
END SAVE_OR_UPDATE;
*******************************************************************************************************
更新一下merge into
merge into abc
using dual on(a=#{a} b={b})
when matched then
update
c=#{c}
when not matched then
insert
(a,b,c) values(#{a}, #{b}, #{c})
怕自己忘了