mybatis下MERGE根据字段判断数据不存在则增加,存在则不处理

 

1.先直接贴代码,这个代码是测试有效的。


        MERGE INTO HOUS a
        USING(
        
                select count(*) c ,#{item.TASK_NO,jdbcType=VARCHAR} TASK_NO,#{item.MAN,jdbcType=VARCHAR} MAN     from ${schema.configPlat}.HOUS_INVEST_TASK where TASK_NO=#{item.TASK_NO}
        

        )b
        on (b.c >0)
        WHEN NOT MATCHED THEN
         INSERT  (TASK_NO,SERVICE_MAN,CUST_NAME) values(b.TASK_NO,b.SERVICE_MAN,b.CUST_NAME) 
    

2. 之前baidu 上查的都是 on(b.TASK_NO=a.TASK_NO),这种情况插入数据的时候会抱错。

3 .b指的就是 list里面传递的字段,这个里面的逻辑是查询不到不做任何操作,也可以增加一条更新语句。

你可能感兴趣的:(【sql】,MERGE,mybatis,sql插入判断)