반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (218)
    • AWS (3)
    • C# (1)
    • SQL (200)
      • MYSQL (150)
      • MSSQL (50)
    • SQLD (12)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

[MSSQL] GetDescendant 사용 방법 및 예시
SQL/MSSQL

[MSSQL] GetDescendant 사용 방법 및 예시

2024. 4. 9. 12:06
728x90
반응형

`GetDescendant()` 함수는 `hierarchyid` 데이터 형식에서 사용되며, 두 개의 `hierarchyid` 값 사이에 새로운 하위 노드의 `hierarchyid` 값을 생성하는 데 사용됩니다. 이 함수는 계층 구조 데이터에서 새로운 하위 노드를 추가할 때 유용합니다. `GetDescendant()` 함수는 다음과 같은 구문을 가집니다:

hierarchyid.GetDescendant(child1, child2)



여기서:
- `hierarchyid`는 계층 구조 데이터 유형의 변수 또는 열을 나타냅니다.
- `child1`은 새로운 자식 노드의 이전 자식 노드 또는 NULL을 나타내며, 새로운 자식 노드를 자식1 위치에 추가합니다.
- `child2`는 새로운 자식 노드의 이후 자식 노드 또는 NULL을 나타내며, 새로운 자식 노드를 자식2 위치에 추가합니다.

예를 들어, 다음은 `EmployeeHierarchy` 테이블에 새로운 Staff(6)를 추가하는 쿼리입니다.

DECLARE @newEmployeeHierarchy hierarchyid;
SELECT @newEmployeeHierarchy = MAX(HierarchyPath.GetDescendant(NULL, NULL))
FROM EmployeeHierarchy
WHERE HierarchyPath.GetAncestor(1) = '/' AND HierarchyPath.GetLevel() = 1;

INSERT INTO EmployeeHierarchy (EmployeeID, EmployeeName, HierarchyPath)
VALUES (6, 'Staff', @newEmployeeHierarchy.GetDescendant(NULL, NULL));



위의 쿼리는 `GetDescendant(NULL, NULL)`를 사용하여 새로운 Staff(6)의 `hierarchyid` 값을 생성합니다. 이 함수는 부모 노드와 자식 노드 사이에 새로운 하위 노드를 추가할 때 유용하며, 계층 구조 데이터에서 자식 노드를 생성하는 데 사용됩니다.

이렇게 `GetDescendant()` 함수를 사용하여 계층 구조 데이터에서 새로운 하위 노드를 추가할 수 있습니다.

728x90
반응형

'SQL > MSSQL' 카테고리의 다른 글

[MSSQL] GetReparentedValue 사용 방법 및 예시  (0) 2024.04.23
[MSSQL] IsDescendantOf 사용 방법 및 예시  (0) 2024.04.23
[MSSQL] GetRoot 사용 방법 및 예시  (1) 2024.04.22
[MSSQL] GetLevel 사용 방법 및 예시  (0) 2024.04.22
[MSSQL] GetAncestor 사용 방법 및 예시  (0) 2024.04.09
[MSSQL] hierarchyid 메서드 사용 방법 및 예시  (0) 2024.04.09
[MSSQL] smalldatetime 사용 방법 및 예시  (0) 2024.04.09
[MSSQL] datetimeoffset 사용 방법 및 예시  (0) 2024.04.09
    'SQL/MSSQL' 카테고리의 다른 글
    • [MSSQL] GetRoot 사용 방법 및 예시
    • [MSSQL] GetLevel 사용 방법 및 예시
    • [MSSQL] GetAncestor 사용 방법 및 예시
    • [MSSQL] hierarchyid 메서드 사용 방법 및 예시
    Ant_U
    Ant_U

    티스토리툴바