请教下现在有两个相同结构的表A,B
想在A上建立触发器,在A中插入一行数据的时候,判断如果该行在B中没有,则在B中插入相同的行
这个触发器的when条件怎么写

解决方案 »

  1.   

    那可以在触发器内容里用SELECT B表来判断,没有结果,就INSERT一条进B表
      

  2.   

    假设A,B表都有ID字段
    CREATE OR REPLACE TRIGGER testdb.a
    AFTER INSERT ON testdb.a FOR EACH ROW
    DECLARE   num   NUMBER        ;
       
    BEGIN      select count(*)
          into num
          from b
          where b.id=:new.id;
          if num=0
          insert b
          values(); 
          end if; 
    EXCEPTION
       WHEN others THEN
          null;
    END;
    /