INSERT INTO dept_info ( dept_id , up_dept_id , dept_nm , dept_expln , dept_grd , dept_sn , use_yn , rgtr , reg_dt ) VALUES ( #{deptId} , #{upDeptId} , #{deptNm} , #{deptExpln} , #{deptGrd} , #{deptSn} , 'Y' , #{rgtr} , NOW() ) INSERT INTO dept_authrt_info ( authrt_cd , dept_id , rgtr , reg_dt ) VALUES ( #{authrtCd} , #{deptId} , #{rgtr} , NOW() ) INSERT INTO dept_mbr_info ( dept_id , mbr_id , rgtr , reg_dt ) VALUES ( #{deptId} , #{mbrId} , #{rgtr} , NOW() ) SELECT dept_id AS id , up_dept_id AS up_id , dept_nm AS nm FROM dept_info UPDATE dept_info SET up_dept_id = #{upDeptId} , dept_nm = #{deptNm} , dept_expln = #{deptExpln} , dept_grd = #{deptGrd} , dept_sn = #{deptSn} , use_yn = #{useYn} , mdfr = #{mdfr} , mdfcn_dt = NOW() WHERE dept_id = #{deptId} DELETE FROM dept_authrt_info WHERE dept_id = #{deptId} WITH RECURSIVE DeptHierarchy AS ( SELECT dept_id , up_dept_id FROM dept_info WHERE dept_id = #{deptId} UNION ALL SELECT di.dept_id , di.up_dept_id FROM dept_info di JOIN DeptHierarchy dh ON di.up_dept_id = dh.dept_id ) UPDATE dept_info SET use_yn = 'N' WHERE dept_id IN (SELECT dept_id FROM DeptHierarchy); WITH RECURSIVE DeptHierarchy AS ( SELECT dept_id , up_dept_id FROM dept_info WHERE dept_id = #{deptId} UNION ALL SELECT di.dept_id , di.up_dept_id FROM dept_info di JOIN DeptHierarchy dh ON di.up_dept_id = dh.dept_id ) DELETE FROM dept_mbr_info WHERE dept_id IN (SELECT dept_id FROM DeptHierarchy); DELETE FROM dept_mbr_info WHERE 1 = 1 AND mbr_id = #{mbrId} UPDATE dept_info SET up_dept_id = #{upDeptId} , dept_grd = #{deptGrd} , dept_sn = #{deptSn} , mdfr = #{mdfr} , mdfcn_dt = NOW() WHERE dept_id = #{deptId}