Create or Replace Trigger  mytrigger
before Delete
On  TABLE_A
for each row
Begin
delete from TABLE_B where CORP_CODE = :old.CORP_CODE;
End;

解决方案 »

  1.   

    如果TABLE_A是主表的话,应该用before delete.
    如果TABLE_b是主表的话,应该用after delete.
      

  2.   

    create or replace trigger trg_name 
        after delete on table_a
        for each row
    begin
        delete from table_b b where b.corp_code=:old.corp_code;
    end;
      

  3.   

    CREATE OR REPLACE TRIGGER "EM_SA"."T30_1_TRIGGER" BEFORE
    DELETE ON "T30_1_2" Begin
    delete from T30_1_1 where CORP_CODE =:old.CORP_CODE;
    End;
    提示:
    "ORA-04082:NEW或OLD引用不允许在表层触发器中"老大们,我是照你们上面发现写的,怎么会事哦
      

  4.   

    create or replace trigger trg_name 
        after delete on table_a
        for each row     <-------用行级处罚
    begin
        delete from table_b b where b.corp_code=:old.corp_code;
    end;
      

  5.   

    kingofdsc(上帝) 你写少了for each row
      

  6.   

    谢谢!问题解决了.
    各位大哥,推荐几本PL/SQL的好书嘛.
      

  7.   

    armyyd(不会游泳的猫) 
    "既然是主从表,用外键行不行?"
    不用外键怎么体现主从表呢?