dropprocedureIFEXISTS querySonStaffIdInfo;DELIMITER//CREATEPROCEDURE querySonStaffIdInfo(IN currentDeptId INT,out result varchar(255))BEGINDECLARE done INTDEFAULT0;DECLARElevelINT;DECLARE ppid INT;DECLARE lastDeptId INT;-- 循环查询子部门WHILENOT done DO-- 查询下一个部门SELECT(select parent_id from auth_dept where id = ad.parent_id) ppid,level,parent_id,id INTO ppid,level,currentDeptId,lastDeptId FROM auth_dept ad WHERE id = currentDeptId;IF lastDeptId isnullorlevel=1or ppid =-1THENSET done =1;ENDIF;ENDWHILE;-- 查询结果SELECT dept_name into result FROM auth_dept ad WHERE id = lastDeptId;END;//DELIMITER;