1. 程式人生 > >sql三表連刪

sql三表連刪

    最近專案中遇到一個三表連刪的問題,在網上找了好多資料,但是大多數都是打醬油的,最終還是自己研究出來了,其實沒什麼難度,大家多想想也可以寫出來,發個帖子記錄下

 <!-- 三表連刪  刪除多條-->
<!-- 類別表,使用者表,中間表 -->
<delete id="DeleteThreetables" parameterType="java.util.List">
    DELETE 
ser,res,use1
FROM 
PZDF_BMS.BMS_SYS_SERVICEUSERGROUP ser 
left join
PZDF_BMS.BMS_SYS_RESERVICEUSERGROUP res 
on
ser.GROUPID = res.GROUPID
left join
PZDF_BMS.BMS_SYS_USERINFO use1
on
use1.USERID = res.USERID
WHERE 
ser.GROUPID IN
<foreach collection="list" index="index" item="item" open="(" separator="," close=")"> 
        #{item} 
    </foreach>
    AND ser.PARENTID != 0

</delete>

 <!-- 三表連刪  刪除一條-->
<!-- 類別表,使用者表,中間表 -->
<delete id="DeleteThreetablesone" parameterType="int">
        DELETE 
ser,res,use1
FROM 
PZDF_BMS.BMS_SYS_SERVICEUSERGROUP ser 
left join
PZDF_BMS.BMS_SYS_RESERVICEUSERGROUP res 
on
ser.GROUPID = res.GROUPID
left join
PZDF_BMS.BMS_SYS_USERINFO use1
on
use1.USERID = res.USERID
WHERE 
        ser.GROUPID=#{groupId} 
<!--    ser.AND PARENTID != 0-->

    </delete>

由於暫時還不會調那個程式碼的表格,可能閱讀性不太好,大家湊活著看吧,哈哈哈