Blog

Mysql, MariaDB 재귀쿼리를 포함한 프로시저 만드는 방법

2024-07-23

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;

인클루드웹 솔루션이 궁금하신가요?

건설관리, 프로젝트관리, 영업관리 솔루션 도입을 무료로 상담해 드립니다.