Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.07;
Скачать: CL | DM;

Вниз

Определение потомков в древовдном расположение данных   Найти похожие ветки 

 
me2   (2003-06-11 14:38) [0]

Помогите написать ХП, которая отображала бы всех потомков некоторого узла. Таблица имеет следующую структуру:
group_code group_name group_parent


 
Жук ©   (2003-06-11 15:08) [1]

Рекурсивное обращение к ХП, должно спасти отца русской демократии


 
me2   (2003-06-11 15:41) [2]

Да, я знаю, что нужно использовать рекурсию и написал следующие
CREATE PROCEDURE GET_MATERIALS_GROUP_PARENTS (
I_GROUP_CODE INTEGER)
RETURNS (
GROUP_PARENT_CODE INTEGER)
AS
DECLARE VARIABLE I_G_CODE INTEGER;
begin
for select "material_group_parent" from material_groups where
"material_group_code" = :i_group_code
into :group_parent_code
do
begin
while (:group_parent_code is not null) do
begin
for
select * from GET_MATERIALS_GROUP_PARENTS(:group_parent_code)
into :group_parent_code
do
begin
suspend;
end
end
end
end


Но данный код не работает. Поправте, пожалуйста.


 
bSava ©   (2003-06-11 15:47) [3]


CREATE PROCEDURE TREE_ID (
ID_ROD INTEGER)
RETURNS (
ID_TREE INTEGER)
AS
DECLARE VARIABLE ID INTEGER;
begin
/* select group_code from TABLE where group_code = :id_rod;*/
for select tp1.group_code
from tipvlog tp1
where tp1.group_parent = :id_rod into :id_tree
do
begin
if (not exists(select * from TABLE
where TABLE.group_parent = :id_tree)) then
begin
suspend;
end
else
begin
id = id_tree;
for
select id_tree from tree_id (:id_tree) into : id_tree
do begin
suspend;
end
id_tree = id;
suspend;
end
end
end


вот тебе код для таблицы ели я правильно понял смысл твоих полей


 
me2   (2003-06-11 16:00) [4]

2 bSava © (11.06.03 15:47)
Да, ты правильно понял. Работает. Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.07.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
11-20030
2Nat
2002-10-28 17:34
2003.07.07
Просмотр значений строк списка при отладке


14-20232
SH
2003-06-19 13:55
2003.07.07
Компилятор на одной дискете


14-20224
kaif
2003-06-18 19:24
2003.07.07
Средняя себестоимость и точность?


1-20069
anod
2003-06-25 15:55
2003.07.07
Как определить одновременное нажатие клавиш


14-20247
Bland
2003-06-19 21:44
2003.07.07
Инстолятор на delphi