oracle提供MERGE INTO关键字,实现不存在插入存在则修改的功能
举个例子:
<update id="insertOrUpdate" parameterType="com.mlsama.admin.entities.ParamConfig">
MERGE INTO T_DAP_PARAMETER_CONFIG t1
USING (SELECT #{paramName} as PARAM_KEY,#{paramValue} as PARAM_VALUE FROM dual) t2
on (t1.PARAM_KEY=t2.PARAM_KEY)
WHEN MATCHED THEN
UPDATE SET t1.PARAM_VALUE=t2.PARAM_VALUE
WHEN NOT MATCHED THEN
insert (PARAM_KEY,PARAM_VALUE,PARAM_DESC)
values (#{paramName},#{paramValue},#{paramDesc})
</update>
注意:
1. 使用update标签,而不是insert标签
2. USING 子句要从dual查值,否则从具体表查不到时,insert失效
3. insert子句没有表名

1515

被折叠的 条评论
为什么被折叠?



