Как вы все знаете scott.emp
Таблица Oracle не имеет никакого цикла в иерархии. Но я изменил emp
таблицу немного (UPDATE emp SET mgr=7654 WHERE empno=7698)
, где я изменил менеджера Мартина как менеджера Блейка и Блейка в роли Мартина и произнес следующий запрос.Почему CONNECT_BY_ISCYCLE не дает 1, если таблица имеет цикл?
SELECT
empno,
ename,
mgr,
level,
connect_by_iscycle
FROM emp
START WITH mgr IS NULL
CONNECT BY NOCYCLE prior empno=mgr
ORDER SIBLINGS BY mgr
Но это не дает ссылки на Мартин и Блейк и не отображает 1 в ожидаемом поле. Пожалуйста, ответьте на причину, если вы можете понять.
Большое спасибо ... Мартин и Блейк совсем не в Дереве ... правильно? –
Правильно, из-за корня, который вы определили 'mgr is null. –