Oracle 有则update 无则insert mapper.xml

<update id="updateOrInsertEqustation" parameterType="com.stylefeng.guns.modular.system.model.EquStation">
    
    MERGE INTO EQU_STATION a
        USING DUAL ON(a.equname=#{equname,jdbcType=VARCHAR})
        WHEN MATCHED THEN
        UPDATE
        SET a.EQUSTATION = #{equstation,jdbcType=VARCHAR}
        WHERE a.EQUNAME = #{equname,jdbcType=VARCHAR}
        WHEN NOT MATCHED THEN
        INSERT (ID,EQUNAME,EQUSTATION)
        VALUES(
        SEQ_EQUSTATION.nextval,
        #{equname,jdbcType=VARCHAR},
        #{equstation,jdbcType=VARCHAR}
        )
        
    </update>

 

EquStation实体类中只有 ID,EQUNAME,EQUSTATION 三个字段

单表操作  标签出现异常说明语句有问题

经验:网上搜的using后有一个select语句,我用上标签出现了异常,删掉之后就可以了

注意最后不要加 “;”分号


版权声明:本文为sinat_38244712原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。