而不是触发器没有更新我的 table

Instead of trigger is not updating my table

我必须检查 table 上的新状态,并且根据这个状态,我需要更新与第一个相关的另一个 table。

原table = origin_table

查看=table_view

视图是使用简单的 select 创建的:

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 是 table 的副本,与 origin_table 有关系,而不是原始 table 的视图。

ObsII:我必须这样做以避免变异 table 错误。

我没有发现您的代码有任何问题,它运行良好。你能查看 dbfiddle link 了解更多详情吗,

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