Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 Можно ли сделать, чтобы триггер реагировал на события в нескольких таблицах?  [new]
Павел Гужанов
Member

Откуда: Наро-Фоминск
Сообщений: 493
Вот такой триггер:

CREATE OR REPLACE TRIGGER FORM.AFTER_INSERT
  AFTER INSERT
  ON SCHEMA.TABLE
  REFERENCING 
    NEW AS new_
  FOR EACH ROW
  BEGIN ATOMIC
    DECLARE OLD_START_DATE DATE;
    DECLARE OLD_END_DATE DATE;
    
    SET OLD_START_DATE = (select coalesce(max(t.start_date), date('01.01.2999')) FROM SCHEMA.TABLE t where t.id = new_.id and t.START_DATE<>new_.start_date);
    SET OLD_END_DATE = (select coalesce(end_date,date('01.01.2999')) FROM SCHEMA.TABLE t where t.id = new_.id and t.START_DATE = OLD_START_DATE); 
    IF (new_.START_DATE < OLD_START_DATE) and (OLD_END_DATE = date('01.01.2999')) THEN
      
      UPDATE SCHEMA.TABLE t SET t.END_DATE = date(date(OLD_START_DATE)-1 day)
        WHERE t.ID = new_.id and t.START_DATE = new_.start_date; 
    
    
    END IF;
  END;
Триггер реагирует на вставку в таблицу, условно названную SCHEMA.TABLE. А как сделать (если это возможно), чтобы он реагировал на вставку в нескольких таблицах одной или нескольких схем?
8 фев 11, 16:36    [10203181]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать, чтобы триггер реагировал на события в нескольких таблицах?  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4947
Павел Гужанов
Триггер реагирует на вставку в таблицу, условно названную SCHEMA.TABLE. А как сделать (если это возможно), чтобы он реагировал на вставку в нескольких таблицах одной или нескольких схем?
Никак.
8 фев 11, 17:32    [10203571]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать, чтобы триггер реагировал на события в нескольких таблицах?  [new]
Павел Гужанов
Member

Откуда: Наро-Фоминск
Сообщений: 493
Спасибо за ответ.
8 фев 11, 17:33    [10203579]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли сделать, чтобы триггер реагировал на события в нескольких таблицах?  [new]
mbrg
Member

Откуда: Stuttgart
Сообщений: 29
Павел Гужанов,

Может во всех таблицах где нужно зделать триггеры, которые будут вызывать одну и туже прцедуру?
11 ноя 11, 17:12    [11583676]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить