나는 자체와 일대 다 관계가있는 테이블을 가지고있다. 이제 분기를 복제하여 다른 루트 아래로 옮기고 싶습니다. 지금까지 내가 시도 oracle의 트리 구조와 같은 테이블에서 특수 루트를 복제하는 방법은 무엇입니까?
가 될 의미
INSERT INTO MY_TABLE (ID,
CODE,
NAME,
PARENT)
SELECT MY_TABLE_SEC.NEXTVAL,
E.CODE,
E.NAME,
NVL (NULLIF (E.PARENT, TO_NUMBER (:OLDPARENT)),
TO_NUMBER (:NEWPARENT))
FROM MY_TABLE E
WHERE E.ID != :OLDPARENT
CONNECT BY NOCYCLE PRIOR E.ID = E.PARENT
START WITH E.ID = :OLDPARENT
을하지만, 그것은 단지 복사합니다 첫 번째 수준을 실현하고 있으므로 다른 수준의 두 배를합니다. 어떻게해야합니까?
샘플 데이터 및 원하는 결과 – Aleksej
@Aleksej 추가 된 몇 가지를 게시하시기 바랍니다 한 번 더 수준을 추가! – Khodabakhsh