Помогите, кому не трудно!
Скажем, у меня в БД имеется таблица типа дерева (Id_Good, Id_Parent, Good_Name, FullPath).
Мне нужно, чтобы при вставке - изменении данных в этой таблице автоматически формировалось поле FullPath, которое есть объединение всех полей Name вплоть до редактируемого элемента.
(т.е полный путь к редактируемогу элементу)
В книге "Мир Interbase 3" на стр. 71-74 есть очень хороший пример рекурсивной процедуры, в которой входным параметром является
идентификатор категории, начиная с которой и формируется полный путь. Эту процедуру я взял себе.
Но у меня проблема:
Как все-таки из триггера обратиться к этой процедуре и взять из неё путь только к данному-текущему редактируемому элементу?
Делаю так, но что-то не то:
Код: Выделить всё
CREATE TRIGGER STRUCT_EL_BI_BU_TRIG FOR STRUCT_EL
ACTIVE BEFORE INSERT OR UPDATE POSITION 1 //для этой таблицы
//имеется также триггер BeforeInsert, формирующий new.id_good
as
declare variable full_goods_name varchar(251);
begin
select g.full_goods_name from Getfullname(1) g
where g.Id_child_Good = NEW.Id_good
into :full_goods_name;
new.FullPath = :full_goods_name;
end
Только, пожалуйста, не отправляйте читать доку - и так над книжкой провел много времени. Хотя, не знаю - может фигу увидел?!
Заранее благодарен