oracle 迁移到 Pg 过程中,改造 merge 为 with 递归形式,但不清楚怎么改成传入 list 形式; 简化的 sql 如下
with upsert as (update xxx set state = #{state}
where code = #{code} and number = #{number} returning *)
insert into xxx select #{id}, #{state}, #{code}, #{number}
where (select count(*) from upsert) = 0;
int merge(DTO dto);
这样可以实现单条数据的 upsert,但是对传入 List<DTO>形式毫无头绪,在此求助广大 V 友~