SYS_CONNECT_BY_PATH 함수는 루트 행으로부터 해당 행까지의 상-하 관계의 path를 문자열로 반환하는 함수이다. 이때, 함수의 인자로 지정되는 컬럼과 구분자는 문자형 타입이어야 하며, 각 path는 지정된 구분자에 의해 구분되어 연쇄적으로 출력된다.
이 함수는 SELECT 문 내의 WHERE 절과 ORDER BY 절에서 사용할 수 있다.
SYS_CONNECT_BY_PATH (column_name, separator_char)
다음은 루트 행으로부터 해당 행의 path를 확인하는 예제이다.
-- 구분자를 이용하여 루트 행으로부터 해당 행까지 path를 확인하기
SELECT id, mgrid, name, SYS_CONNECT_BY_PATH(name,'/') as [hierarchy]
FROM tree
START WITH mgrid IS NULL
CONNECT BY PRIOR id=mgrid
ORDER BY id;
id mgrid name hierarchy
=================================================
1 null Kim /Kim
2 null Moy /Moy
3 1 Jonas /Kim/Jonas
4 1 Smith /Kim/Smith
5 2 Verma /Moy/Verma
6 2 Foster /Moy/Foster
7 6 Brown /Moy/Foster/Brown