【mybatis】mysql級聯更新兩個表或多張表的數據


例如 info表和relation表有關聯,現在要在一個sql語句中同時級聯更新兩張表的數據

update
    security_code_info info
LEFT JOIN
    security_code_relation re
ON
    re.security_code = info.security_code
set 
    info.code_stock_state = 9,
    info.code_state = 9,
    info.code_qa_state = 9,
    info.code_act_date = '2018-01-01',
    info.receipt_date = '2018-01-01',
    re.receipt_uid = '111',
    re.depot_id = '111'
where 
    info.security_code = '100032014010987164';

 

批量操作更新級聯操作的sql:

 <update id="receipt" parameterType="com.pisen.cloud.luna.ms.security.code.base.mapper.beans.ReceiptBean">
        update
            security_code_info info
        LEFT JOIN
            security_code_relation re
        ON
            re.security_code = info.security_code
        set
            info.code_stock_state = ${@com.pisen.cloud.luna.ms.security.code.base.domain.SecurityCodeInfo@IN_STOCK},
            info.code_state = ${@com.pisen.cloud.luna.ms.security.code.base.domain.SecurityCodeInfo@ACTIVATION_EN},
            info.code_qa_state = ${@com.pisen.cloud.luna.ms.security.code.base.domain.SecurityCodeInfo@DEFAULT},
            info.code_act_date = #{receiptAndActDate},
            info.receipt_date = #{receiptAndActDate},
            re.receipt_uid = #{receiptUid},
            re.depot_id = #{depotUid}
        where
            info.security_code
        in
        <foreach collection="scList" index="index" close=")" open="(" item="item" separator=",">
            #{item}
        </foreach>

    </update>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM