Table Hierarchy Closure 단계
테이블: 계층 클로저 단계는 각 행을 상위 항목 체인을 따라 위로 탐색하여, 모든 행과 그 상위 항목마다 출력 행을 하나씩 기록합니다. 깊이 제한은 없습니다. 거리 열은 행 자신이 0, 상위 항목이 1이며 이후 같은 방식으로 늘어납니다.
탐색은 루트에 도달했을 때, 노드 테이블에 없는 상위 항목을 만났을 때, 이미 거쳐 간 노드를 다시 만났을 때 중단되므로 상위 ID에 순환이 있어도 무한히 실행되지 않습니다. 순환이 있으면 반복되는 노드까지의 모든 상위 항목이 유지됩니다. 어떤 루트에도 닿지 않는 순환은 가장 작은 ID에서 끝납니다.
소스 및 옵션
섹션 제목: “소스 및 옵션”- 탐색 시작 행 — 탐색을 시작할 행이 있는 테이블입니다.
- ID 열과 상위 열 — 각 행의 ID와 해당 행의 상위 항목 ID입니다. NULL이거나 행 자신의 ID와 같으면 루트를 나타냅니다.
- 노드 테이블 (선택 사항) — 탐색이 거슬러 올라갈 노드의 테이블입니다. 비워 두면 소스 테이블을 사용합니다.
- 노드 ID 열과 노드 상위 열 (선택 사항) — 기본값은 ID 열과 상위 열입니다. 행이 여러 개인 ID는 루트 행을 따르고, 루트 행이 없으면 가장 작은 상위 항목을 따릅니다.
- 상위 항목 열 — 상위 항목 ID를 담는 출력 열입니다. 기본값은
Ancestor입니다. - 거리 열 — 시작 행에서부터의 단계 수입니다. 기본값은
Distance입니다. - 경로를 따라 구성되는 문자열 (선택 사항) — 탐색이 위로 올라가면서 누적해 구성할 텍스트 열마다 한 행씩 지정합니다. 각 행에는 다음 항목이 있습니다.
- 출력 열 — 새 열입니다.
- 소스 열 — 텍스트로 읽을 열이며, 노드 테이블에서 읽는 열이 다르면 노드 열로 지정합니다.
- 구분 기호 — 값 사이에 넣을 텍스트입니다.
- 고유 — 텍스트에 이미 들어 있는 값은 건너뜁니다.
- 루트 우선 — 각 상위 항목을 지금까지 만든 텍스트 앞에 놓습니다.
- 출력 테이블 — 결과를 기록할 위치입니다.
출력에는 ID 열과 상위 열, 상위 항목 열과 거리 열, 그리고 구성하는 문자열마다 텍스트 열이 하나씩 포함됩니다.
관련 항목
섹션 제목: “관련 항목”- 다중 테이블 조인 — 클로저를 값에 다시 조인합니다
- Savant 분석 마이그레이션