나는 많은 나무를 나타내는 데이터베이스 테이블을 가지고있다. 처음 세 열은 다음과 같은 GUID입니다.SQL에서 트리를 재귀 적으로 업데이트하는 방법은 무엇입니까?
NODE_ID (PK)
PARENT_NODE_ID (FK to same table, references NODE_ID)
TREE_ID (FK to another table)
노드를 다른 트리로 이동할 수 있습니다. 까다로운 부분은 모든 자식 노드를 가져 오는 것입니다. 재귀 적 업데이트가 필요합니다. (그렇습니다. 처음에는 다소 좋지 않은 디자인이었습니다. 설계하지 않았기 때문에 유지 관리해야하며 데이터베이스 스키마를 변경할 수는 없습니다.
저장 프로 시저로 SQL에서 업데이트를 할 수 있습니다. 그러나 커서를 사용하지 않고 집합 논리에 필요한 재귀 연산을 구현하는 방법을 생각할 수 없습니다. 누구든지 이것을 풀 수있는 합리적으로 간단한 방법을 알고 있습니까?
참고 : 여기 링크입니다 tree_id가 중복, 그리고 그 업데이트 문제가 발생합니다. – wildplasser