Вместо триггера моя таблица не обновляется - PullRequest
0 голосов
/ 06 мая 2020

Мне нужно проверить новый статус в таблице, и, в зависимости от этого статуса, мне нужно обновить другую таблицу, связанную с первой.

Исходная таблица = origin_table

View = table_view

Просмотр был создан с помощью простого выбора:

create or replace view table_view as
select * from table

Мой триггер в основном:

create or replace trigger verify_status
    instead of update on table_view
    referencing old as old new as new
    for each row

begin

    if :new.status in ('A', 'P') then
        update origin_table set status = 'CP' where cod = :new.cod;
    end if;
end;

Но моя origin_table не обновляется, идея?

Obs: view_table - это копия таблицы со связью с origin_table, а не представление a исходной таблицы.

ObsII: Мне пришлось сделать это, чтобы избежать ошибки изменяющейся таблицы.

1 Ответ

1 голос
/ 06 мая 2020

Я не вижу проблем с вашим кодом, он отлично работает. Не могли бы вы проверить ссылку dbfiddle для получения дополнительной информации,

https://dbfiddle.uk/?rdbms=oracle_18&fiddle=8bad808cb6d120df37537044081e09b0

...