mergeinto
有则更新 无则插入
<insert id="addResult" parameterType="com.insight.hr.cePing.pojo.bo.ResultDesc">
MERGE INTO RESULT_DESC T1
USING(
SELECT #{resultCollId} as RESULTCOLL_ID,#{questionId} as QUESTION_ID
from DUAl
) T2
ON(T1.resultcoll_id=T2.resultcoll_id AND T1.QUESTION_ID=T2.QUESTION_ID)
WHEN MATCHED THEN
update (1) set T1.ANSWEROPTION=#{option},T1.SCORE=#{score} (2)
WHEN NOT MATCHED THEN
insert (3) (resultdetail_id ,type_id,question_id ,group_id ,paper_id, resultcoll_id ,user_id,resultdesc_date,answeroption,score,sort )
values
(
#{resultDescId},
#{typeId},
#{questionId},
#{groupId},
#{paperId},
#{resultCollId},
#{userId},
#{resultDescDate},
#{option},
#{score},
#{sort}
)
</insert>
注意事项:1、(1)处不要写表名称
2、(2)处不要更新与on后连接的字段
3、(3)处没有into tablename