
СREATE OR REPLACE TRIGGER GAL."MRK_mbpmove_atribut"
after insert, UPDATE,delete
ON GAL.attrnam
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
begin
:NEW.PERSONS.FIO:=gal.attrnam.name;
end;
Модераторы: m0p3e, edward_K, Модераторы
Код: Выделить всё
select vstring
from attrval
where
((
<нрек позиции, откуда ссылка на атрибуты> == crec and
<нрек атрибута (attrnam.nrec)> == cattrnam and
<код таблицы, откуда ссылка на атрибут> == wtable
));
В vipprogr.chm целый подраздел есть - "Триггеры". Там примерно описано, как средствами VIP триггер повесить.n0where писал(а):RAJAH
Тригер вроде MS SQL, галактические принципы работать не будут.
Marisha_P писал(а):А как этот алгоритм будет отрабатывать в момент выбора атрибута?
, т.е., можно применять различные конструкции с использованием before-after и insert-update-deletevipprogr.chm писал(а):Вызовы триггеров осуществляются системой до и после вставки, изменении и удалении записи в БД.
А зачем дублирование полей? и заморочка по ним?Marisha_P писал(а):Мне нужно в акте на списание (модуль "Спецоснастка") обновлять значение поля "Работник" спецификации акта значением поля "Работник" (внешний атрибут позиции спецификации) при каждом изменении значения атрибута....Нужно это дело бухгалтерии
Предполагаю, единственным требованием - настроена проводка так. Её просто надо перенастроить и все. ))) Проблем будет меньше.Marisha_P писал(а):А я логику понять уже давно и не пытаюсьПоставили задачу - хотят, чтобы было так и никак иначе... Надо делать
Нажимаешь кнопочку обновить экранвопрос такой - данный триггер изменяет значение поля "Работник" только когда выходишь из акта, перемещаешься на другой акт, возвращаешься и тогда только оно становится видимым в спецификации. Это как то можно изменить?:))