insert into cu_member_retail_region cmrr ( pk_id, pk_member, province, city, county, creation_time, pk_creator, REGION_VERTEX_PK_ID ) select cu_member_retail_region_seq.nextval, #{retailRegion.pkMember}, #{retailRegion.province}, #{retailRegion.city}, #{retailRegion.county}, sysdate, #{retailRegion.pkCreator}, #{retailRegion.regionVertexPkId} from dual where not exists(select 1 from cu_member_retail_region cmrr INNER JOIN cu_member cm ON cmrr.pk_member = cm.pk_id LEFT JOIN BD_VERTEX bv ON cm.PK_VERTEX = bv.PK_ID LEFT JOIN BD_REGION_VERTEX brv ON bv.REGION_VERTEX_PK_ID = brv.PK_ID where cmrr.province = #{retailRegion.province} and cmrr.city = #{retailRegion.city} and cmrr.county = #{retailRegion.county} and cmrr.del_flag = 0 and cmrr.effective = 0 AND cm.pk_id = #{retailRegion.pkMember} ) UPDATE CU_MEMBER_RETAIL_REGION SET EFFECTIVE=1, MODIFIED_TIME=sysdate WHERE EFFECTIVE = 0 AND DEL_FLAG = 0 AND EFFECTIVE_END_DATE < = sysdate update cu_member_retail_region cmrr set cmrr.effective = 1, cmrr.modified_time = sysdate where cmrr.del_flag = 0 and cmrr.effective = 0 and cmrr.province = #{province} and cmrr.city = #{city} and cmrr.county = #{county} and cmrr.system_type = #{systemType} and cmrr.pk_id not in (select pk_id from (select cmrr.pk_id from cu_member_retail_region cmrr where cmrr.del_flag = 0 and cmrr.effective = 0 and cmrr.province = #{province} and cmrr.city = #{city} and cmrr.county = #{county} and cmrr.system_type = #{systemType} order by cmrr.creation_time) where rownum = 1)