Последното условие не се отнася за вашите данни, но е много важно да избегнете безкрайна рекурсия.
За да илюстрирате тази точка, помислете какво ще се случи, ако добавите още един ред към вашата таблица:
E40 E40
Ако започнете с E40 вместо E90 , Oracle ще се завърти в безкрайна рекурсия без EMP_ID != MANAGER_ID състояние, защото E40 ще се свърже обратно към E40 .
Имайте предвид, че по-добрият подход за писане на тази заявка е да използвате NOCYCLE опция вместо кодиране в изрична проверка:
SELECT *
FROM Temp
START WITH EMP_ID = 'E90'
CONNECT BY NOCYCLE PRIOR EMP_ID = MANAGER_ID
ORDER BY EMP_ID