Такого же эффекта можно достичь средствами одного только SQL, используя обновляемые представления (updateable view).
Создадим представление для отображения данных бизнес-объекта Компания:
create view vcompany as select * from gd_contact c join gd_company co on c.id=co.contactkey left join gd_companycode cc on cc.companykey = c.idСоздадим триггер:
recreate trigger vcompany_ai for vcompany after insert position 0 as declare variable id integer; begin if (NEW.id IS NULL) then id = GEN_ID(gd_g_unique, 1); else id = NEW.id; insert into gd_contact (id, parent, contacttype, name) values (:id, NEW.parent, 3, NEW.name); insert into gd_company (contactkey, fullname) values (:id, NEW.name); endТеперь добавить компанию в базу данных можно с помощью команды:
insert into vcompany (name, parent) values ('Company name', some_existing_folder_id)Аналогичным образом реализуем обновление и удаление данных.
Комментариев нет:
Отправить комментарий