Oracle에서 쓰던 merge문. Postgre의 upsert문과 같은 기능을 가진다. Data가 존재하면 update, 존재하지 않으면 insert. WITH UPSERT AS ( UPDATE AA SET aa_name = I.name, aa_code = I.code FROM BB as I WHERE aa_id = I.id AND I.seq = #{seq} returning * ) INSERT INTO AA ( aa_name, aa_code. ) SELECT I.name, I.code FROM BB as I WHERE I.seq = #{seq} AND (select count(aa_id) from AA where aa_id = I.id )