Триггер Oracle для ссылок «один ко многим»

#java #oracle #hibernate #triggers

#java #Oracle #спящий режим #триггеры

Вопрос:

У меня есть two таблицы в моей базе данных oracle. Table "B" имеет ссылку на table "A" , поэтому "A" может содержать одну или несколько записей, на которые ссылаются "B" .

Теперь у меня есть trigger on "A" , который создает запись в таблице истории « a_hist » когда "A" есть updated/deleted/etc . Возможно ли активировать триггер в «A», когда ссылка на запись в "B" была изменена?

Я использую спящий режим.

Спасибо.

Ответ №1:

вы можете добавить триггер B и внутри этого триггера выполнить обновление A для всех строк со ссылочными значениями:

 create trigger b_trg 
after update on B for each row
begin
    update a
     set a.b_id = a.b_id
     where a.b_id = :old.b_id
    ;
end;
  

/