Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что за трабл? [D6, IB6.x, FireBird]


Соловьев ©   (2003-05-15 10:28:00) 

Не могу догнать в чем трабла. Процедура получения всех детей родителя:
CREATE PROCEDURE GET_CHILD (
ID_NODE INTEGER)
RETURNS (
ID INTEGER)
AS
declare variable temp_id integer;
BEGIN
temp_id = :id_node;
for
select "id"
from "management_structure"
where "id" = :temp_id
into :temp_id
do
begin
if (not id is null) then
execute procedure "GET_CHILD"(:temp_id);
SUSPEND;
end
END

ругается, на строку
execute procedure "GET_CHILD"(:temp_id);
типа неверный параметр у процедуры.
версия FB 6.2.2.908


Соловьев   (2003-05-15 13:08:00) [1]

все, спасибо Johnmen ©. и еще сайту http://www.krista.ru/ib/recursion.html


Danilka   (2003-05-15 12:27:00) [2]

честно говоря, не могу врубиться в этот код:
select "id"
from "management_structure"
where "id" = :temp_id
into :temp_id


может надо что-то типа:
select "id"
from "management_structure"
where " parent_id" = : ID_NODE
into :temp_id


Rad   (2003-05-15 12:08:00) [3]

А разве надо название процедуры заключать в кавычки, если создается она с названием без кавычек?


Johnmen   (2003-05-15 11:06:00) [4]

...и делать SELECT из процедуры...


Johnmen   (2003-05-15 10:53:00) [5]

Сначала надо создать "пустую" процедуру, а потом "наполнить содержимым" с помощью ALTER PROCEDURE.


Соловьев   (2003-05-15 10:47:00) [6]


> if (not id is null) then

тут я стормозил вместо id надо :temp_id.
Мастаки, где я еще стормознул? помогите. вроде утро, а я торможу :(


Наверх

Титульная страница Поиск, карта сайта Написать письмо