INSERT IGNORE INTO gen_floating_population( floating_population_id, base_id, card_expire_date, residence_type, register_date, registration_type, key_of_follow, card_number, inflow_reason, creator, gmt_create, modifier, gmt_modified, is_delete ) SELECT #{floatingPopulationId}, #{baseId}, #{cardExpireDate}, #{residenceType}, #{registerDate}, #{registrationType}, #{keyOfFollow}, #{cardNumber}, #{inflowReason}, #{creator}, #{gmtCreate}, #{modifier}, #{gmtModified}, #{isDelete} FROM DUAL WHERE NOT EXISTS ( SELECT * FROM gen_floating_population WHERE base_id = #{baseId} AND is_delete = 0 ) INSERT IGNORE INTO gen_floating_population( floating_population_id, base_id, card_expire_date, residence_type, register_date, registration_type, key_of_follow, card_number, inflow_reason, creator, gmt_create, modifier, gmt_modified, is_delete ) SELECT #{item.floatingPopulationId}, #{item.baseId}, #{item.cardExpireDate}, #{item.residenceType}, #{item.registerDate}, #{item.registrationType}, #{item.keyOfFollow}, #{item.cardNumber}, #{item.inflowReason}, #{item.creator}, #{item.gmtCreate}, #{item.modifier}, #{item.gmtModified}, #{item.isDelete} FROM DUAL WHERE NOT EXISTS ( SELECT * FROM gen_floating_population WHERE base_id = #{item.baseId} AND is_delete = 0 ) UPDATE gen_floating_population SET is_delete = 1, modifier = #{modifier}, gmt_modified = #{gmtModified} WHERE floating_population_id IN #{floatingPopulationIds[${index}]} DELETE FROM gen_floating_population WHERE floating_population_id IN #{floatingPopulationIds[${index}]} UPDATE gen_floating_population SET base_id = #{baseId}, card_expire_date = #{cardExpireDate}, residence_type = #{residenceType}, register_date = #{registerDate}, registration_type = #{registrationType}, key_of_follow = #{keyOfFollow}, card_number = #{cardNumber}, inflow_reason = #{inflowReason}, modifier = #{modifier}, gmt_modified = #{gmtModified} WHERE floating_population_id = #{floatingPopulationId}