![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по тригерам [D7, IB7.x]
Alpine © (2006-04-25 14:31:00)Доброго времени суток. Уважаемые мастаки, у меня такая задача, у меня есть две таблицы, связанные между собой по ключевому полю(связь один ко многим), и есть ещё две таблицы клоны главных(архивные). Мне надо чтобы после удаления записи с одной главной таблицы, эта запись(удалённая) переходила в другую(архивную) таблицу и соответветственно с подчиненной таблицы тоже записи перемещалмсь в другую таблицу, дабы не потерять целостность. Возможно ли это сделать с помощью тригера ? Можно ли в тригере обратиться к текущей записи(то есть той на которой стоит курсор) ?
Заранее благодарен.
RomanH (2006-04-25 16:01:00) [1]Да надо подумать.
Sergey13 (2006-04-25 15:47:00) [2]2[2] RomanH © (25.04.06 15:41)
Тут же надо перетаскивать и подчиненные записи. Иначе ограничения целостности могут не дать.
RomanH (2006-04-25 15:41:00) [3]Перед удалением из таблицы Men текущая зпись помещается MenDel
CREATE TRIGGER BEF_DEL_MEN FOR MEN
ACTIVE BEFORE DELETE POSITION 0
as
begin
insert into "MENDEL"
("LMENID","LMFAM","LMNAME","LMOTCH","LMPASSWORD","LMSTATUS","LMNIC")
values(old.MENID,old.MFAM,old.MNAME,old.MOTCH,old.MPASSWORD,old.MSTATUS,old.MNIC );
end
Sergey13 (2006-04-25 14:38:00) [4]>Можно ли в тригере обратиться к текущей записи(то есть той на которой стоит курсор) ?
Где утебя стоит курсор тригер понятия не имеет. Он работает по факту указанного события с 1 записью. Старое значение поля идет с префиксом old новое с new. Доступность старых и новых значений зависит от события. У Delete, например, доступны только старые значения.