INSERT IGNORE INTO gen_census_msg( census_msg_id, base_id, name_of_householder, contact, census_number, id_card_of_householder, relationship_with_householder, people_same_census, creator, gmt_create, modifier, gmt_modified, is_delete ) SELECT #{censusMsgId}, #{baseId}, #{nameOfHouseholder}, #{contact}, #{censusNumber}, #{idCardOfHouseholder}, #{relationshipWithHouseholder}, #{peopleSameCensus}, #{creator}, #{gmtCreate}, #{modifier}, #{gmtModified}, #{isDelete} FROM DUAL WHERE NOT EXISTS ( SELECT * FROM gen_census_msg WHERE base_id = #{baseId} AND is_delete = 0 ) INSERT IGNORE INTO gen_census_msg( census_msg_id, base_id, name_of_householder, contact, census_number, id_card_of_householder, relationship_with_householder, people_same_census, creator, gmt_create, modifier, gmt_modified, is_delete ) SELECT #{item.censusMsgId}, #{item.baseId}, #{item.nameOfHouseholder}, #{item.contact}, #{item.censusNumber}, #{item.idCardOfHouseholder}, #{item.relationshipWithHouseholder}, #{item.peopleSameCensus}, #{item.creator}, #{item.gmtCreate}, #{item.modifier}, #{item.gmtModified}, #{item.isDelete} FROM DUAL WHERE NOT EXISTS ( SELECT * FROM gen_census_msg WHERE base_id = #{item.baseId} AND is_delete = 0 ) UPDATE gen_census_msg SET is_delete = 1, modifier = #{modifier}, gmt_modified = #{gmtModified} WHERE census_msg_id IN #{censusMsgIds[${index}]} DELETE FROM gen_census_msg WHERE census_msg_id IN #{censusMsgIds[${index}]} UPDATE gen_census_msg SET base_id = #{baseId}, name_of_householder = #{nameOfHouseholder}, contact = #{contact}, census_number = #{censusNumber}, id_card_of_householder = #{idCardOfHouseholder}, relationship_with_householder = #{relationshipWithHouseholder}, people_same_census = #{peopleSameCensus}, modifier = #{modifier}, gmt_modified = #{gmtModified} WHERE census_msg_id = #{censusMsgId}