баг при выполнении триггера
Добавлено: 13 янв 2011, 08:37
Есть FirebirdSS 2.5
тригер имеет вид:
на таблицы внутри if пользовательне имеет прав обновление, НО при невыполнении условия if, выскакивает ошибка, что пользователь не иеет прав на обновлении. Т.е. тригер зачем-то все равно проверяет комманды внутри условия, которое не выполняются. Вопрос- зачем?
тригер имеет вид:
Код: Выделить всё
CREATE TRIGGER ZHURNAL_NARYAD_AU FOR ZHURNAL_NARYAD
ACTIVE AFTER UPDATE
POSITION 0
AS
BEGIN
if ((NEW.M_DEL=1) and (OLD.M_DEL<>1)) then
begin
Update ZHURNAL_NARYAD_BRIGADA SET M_DEL=1 WHERE ID_ZHURNAL=NEW.ID;
Update ZHURNAL_NARYAD_INSTROUT SET M_DEL=1 WHERE ID_ZHURNAL=NEW.ID;
Update ZHURNAL_NARYAD_INSTRIN SET M_DEL=1 WHERE ID_ZHURNAL=NEW.ID;
Update ZHURNAL_NARYAD_MESTO SET M_DEL=1 WHERE ID_ZHURNAL=NEW.ID;
end
END