ancestor, descendant
DELETE FROM sys_dept_relation
WHERE
descendant IN ( SELECT temp.descendant FROM
( SELECT descendant FROM sys_dept_relation WHERE ancestor = #{descendant} ) temp )
AND ancestor IN ( SELECT temp.ancestor FROM ( SELECT ancestor FROM
sys_dept_relation WHERE descendant = #{descendant} AND ancestor != descendant ) temp );
INSERT INTO sys_dept_relation (ancestor, descendant)
SELECT a.ancestor, b.descendant
FROM sys_dept_relation a
CROSS JOIN sys_dept_relation b
WHERE a.descendant = #{ancestor}
AND b.ancestor = #{descendant};
DELETE
FROM
sys_dept_relation
WHERE
descendant IN (
SELECT
temp.descendant
FROM
(
SELECT
descendant
FROM
sys_dept_relation
WHERE
ancestor = #{id}
) temp
)
DELETE
FROM
sys_dept
WHERE
dept_id=#{id}
delete from sys_dept_relation
where descendant = #{descendant,jdbcType=BIGINT}