Условие после CONNECT BY говорит со следующей записью - поля, названные просто по имени, содержат значения следующей записи.
Поля с оператором PRIOR хранят значение предыдущей (нынешней) записи.
Восходящий обход от вызвавшего узла:
select * from tkart
start with idkart=2902433
connect by idkart=PRIOR idprepdoc;
Нисходящий обход от вызвавшего узла:
select * from tkart
start with idkart=2902433
connect by idprepdoc=PRIOR idkart;
Обоенаправленный обход:
1. Если структура содержит кроме номера-ссылки(idprepdoc) корень (iddoc).
Найти корень.
start with idkart= NVL((select iddoc from tkart where idkart=2950703),2950703)
Двинуться нисходящим обходом.
connect by idprepdoc=PRIOR idkart
Поля с оператором PRIOR хранят значение предыдущей (нынешней) записи.
Восходящий обход от вызвавшего узла:
select * from tkart
start with idkart=2902433
connect by idkart=PRIOR idprepdoc;
Нисходящий обход от вызвавшего узла:
select * from tkart
start with idkart=2902433
connect by idprepdoc=PRIOR idkart;
Обоенаправленный обход:
1. Если структура содержит кроме номера-ссылки(idprepdoc) корень (iddoc).
Найти корень.
start with idkart= NVL((select iddoc from tkart where idkart=2950703),2950703)
Двинуться нисходящим обходом.
connect by idprepdoc=PRIOR idkart