Псевдостолбец CONNECT_BY_ISLEAF в ранних версиях Oracle можно заменить следующим выражением:
DECODE(LEVEL + 1, LEAD(LEVEL)OVER (ORDER BY ROWNUM), 0, 1){/code}
Пример:
SQL> SELECT LPAD(' ', (level-1)*2, ' ') || last_name "Employee", 2> DECODE(LEVEL + 1, LEAD(LEVEL) OVER (ORDER BY ROWNUM), 0, 1) "IsLeaf", 3> LEVEL 4> FROM hr.employees 5> WHERE LEVEL <= 3 AND department_id = 80 6> START WITH employee_id = 100 7> CONNECT BY PRIOR employee_id = manager_id AND LEVEL <= 4; Employee IsLeaf LEVEL -------------- ------ ----- Russell 0 2 Tucker 1 3 Bernstein 1 3 Hall 1 3 Olsen 1 3 Cambrault 1 3 Tuvault 1 3 Partners 0 2 King 1 3 Sully 1 3 McEwen 1 3 Smith 1 3 Doran 1 3 Sewall 1 3