Помощь в написании студенческих работ
Антистрессовый сервис

Передвижение по уровням древовидной структуры

РефератПомощь в написанииУзнать стоимостьмоей работы

Иногда может возникнуть необходимость отсечения ветвей в древовидном запросе. Для этого добавьте условие отсечения во фразе connect by, как показано в следующем примере: select rpad ('(level -3)*3)||emp_last_name employee from emp. Многие разработчики допускают ошибку, определяя критерий исключения как часть фразы WHERE, что приводит к ошибочным выходным данным, как показано в следующем примере… Читать ещё >

Передвижение по уровням древовидной структуры (реферат, курсовая, диплом, контрольная)

Помимо просмотра структуры ниже конкретного уровня древовидной структуры многие прикладные программы должны исследовать структуру выше выбранного уровня. Чтобы выполнить это в отношении конкретного служащего, используйте следующий запрос: select level,.

emp_last_ паше from emp.

connect by emp Jd = prior supervisor emp_ id start with emp_ last_ name = 'SIM';

LEVEL EMP LAST NAME.

  • 1 SIM
  • 2 MATTEO
  • 3 ZAFIAN

Как показано в предыдущем примере, условие, используемое во фразе start WITH, может быть основано на значении любого столбца, при этом не требуется, чтобы это был один из столбцов, на который есть ссылка во фразе connect by, хотя в большинстве случаев именно так и бывает.

Отсечение ветвей

Иногда может возникнуть необходимость отсечения ветвей в древовидном запросе. Для этого добавьте условие отсечения во фразе connect by, как показано в следующем примере: select rpad ('(level -3)*3)||emp_last_name employee from emp.

connect by supervisor_emp_id = prior emp_id and emp_last_name not in ('RUSSO', 'MATTEO') start with supervisor emp_ id is null;

EMPLOYEE.

ZAFIAN.

BRUNNER.

CALLAHAN.

DUELL.

HEIMER.

GIARDINA.

PALESKI.

TERRY.

LUNDY.

BEECHER.

NEUMANN.

MITTLER.

CANNELL.

Многие разработчики допускают ошибку, определяя критерий исключения как часть фразы WHERE, что приводит к ошибочным выходным данным, как показано в следующем примере.

select rpad ('(level-3) *3) | |emp_last_name employee from emp.

where emp_last_name not in ('RUSSO', 'MATTEO') connect by supervisor emp_ id = prior emp_ id start with supervisor_emp_id is null;

EMPLOYEE.

ZAFIAN.

BRUNNER.

CALLAHAN.

DUELL.

HEIMER.

GIARDINA.

PALESKI.

TERRY.

LUNDY.

BEECHER.

NEUMANN.

MITTLER.

CANNELL.

RACCIO.

SAGE.

SIM.

ANNUNZIATO.

FARRELL.

Показать весь текст
Заполнить форму текущей работой