这个在应用中实现更合适
在update相关的触发器中不能对本表进行查询,因此使用触发器实现可能还需要借助视图来实现,不如直接在应用程序中实现

解决方案 »

  1.   

    用触发器个人觉得实现起来也挺方便的,可以及时更改表A的状态
    create table test_aaa
    (
    id     number(11),
    name   varchar2(100),
    status number(2)
    );
    create table test_bbb
    (
    aaa_id     number(11),
    id         number(11),
    name       varchar2(100),
    status     number(2)
    );--创建触发器
    CREATE OR REPLACE TRIGGER test_trigger
    after insert or update or delete OF STATUS ON test_bbb
    DECLARE
    BEGIN
     --触发器代码
     UPDATE TSET_AAA A SET A.STATUS = (SELECT MIN(STATUS) FROM TEST_BBB B WHERE B.AAA_ID = A.ID);
    END;
    UPDATE TEST_BBB B SET B.STATUS = 1 WHERE B.ID = 2;
    UPDATE TEST_BBB B SET B.STATUS = 0 WHERE B.ID = 2;
    select t.*,rowid from test_aaa t;
    select t.*,rowid from test_bbb t;以上是我写的例子,请参考