Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > удаление строк из иерархической таблицы


Автор: Alex_79 17.5.2008, 21:11
Всем привет! И заранее благодарен за оказанную Вами помощь! 
У меня есть иерархическая таблица с тремя полями:
id_emp
empl
id_boss
где указываются сотрудники, id_boss- показывает индефикатор начальника, но начальник также может подчиненным. При удаление рабочего, если у него есть подчиненные происходит нарушение целостности. У меня такая задача:Удалить рабочего и всех его подчиненных
не могу сделать запрос

Автор: skyboy 17.5.2008, 21:52
сделай при помощи триггера(если СУБД позволяет), при помощи рекурсивно вызываемой ХП(если СУБД позволяет), при помощи внешних ключей(если СУБД позволяет) или при помощи рекурсивной генерации соотвествующих SQL-запросов на стороне клиента(если СУБД не позволяет).
теперь два вопроса:
1. Почему не указал СУБД? Секрет или ииспытание наших телепатических способностей?
2. Как ты уже решал задачу? или не решал вовсе, а просто ждешь готового кода?

Автор: Alex_79 22.5.2008, 22:03
База Oracle 10g (XE) 
Я эту задачу решил рекурсией)))

Автор: skyboy 22.5.2008, 23:37
Alex_79, как насчет внещнего ключа(foreign key) таблицы на саму себя с id_emp на id_boss?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)