Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.013 c
3-19971
tamara
2003-06-10 16:57
2003.07.07
MSSQL2000


14-20296
Юрий Зотов
2003-06-19 17:55
2003.07.07
А погода-то наладилась (и снова встреча в Москве)...


1-20055
Alexey
2003-06-23 17:03
2003.07.07
Проблема с OLE-объектами


11-20021
Alexander
2002-10-22 11:29
2003.07.07
Обработка сообщений.


3-20007
Солер
2003-06-14 19:42
2003.07.07
Что за сообщение программы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский