create
definer = root@`%` procedure ProcTableSubDeparment(IN p_COMPANY_UID varchar(50), IN p_DEPT_CODE varchar(50))
BEGIN
#부서 재귀쿼리
WITH RECURSIVE HIERARCHY_DATA AS
(
SELECT
DEPT_CODE,
DEPT_PARENT_CODE,
DEPT_NAME
FROM department
WHERE COMPANY_UID=p_COMPANY_UID AND DEPT_CODE=p_DEPT_CODE
UNION ALL
SELECT
DE.DEPT_CODE,
DE.DEPT_PARENT_CODE,
DE.DEPT_NAME
FROM department DE
JOIN HIERARCHY_DATA AS HD
ON DE.DEPT_PARENT_CODE = HD.DEPT_CODE
)
SELECT * FROM HIERARCHY_DATA;
END;
Blog
Mysql, MariaDB 재귀쿼리를 포함한 프로시저 만드는 방법
2024-07-23