在执行插入语句的时候,提示:A发生了变化,触发器/函数不能读.请问该如何解决,谢谢

解决方案 »

  1.   

    Oracle中確實是這樣的,在某表上創建的觸發器的PL/SQL塊中,是不允許查詢自身表的。
      

  2.   

    我想也是UP.
    借此贴顺便问一个问题.如果想在 Before Insert 里写if 条件 then 
        记录到其它表.
        不插入此条记录.
    end if;怎么做呢.
      

  3.   

    我想也是UP.
    借此贴顺便问一个问题.如果想在 Before Insert 里写if 条件 then 
        记录到其它表.
        不插入此条记录.
    end if;怎么做呢.
      

  4.   

    iamnewsea(大海) :
    if 条件 then 
        记录到其它表.
        RAISE_APPLICATION_ERROR(-20009, '****');
    end if;
      

  5.   

    iamnewsea(大海) :
    if 条件 then 
        记录到其它表.
        RAISE_APPLICATION_ERROR(-20009, '****');
    end if;
      

  6.   

    bkhswrp(大麦粥):
    我也是用的这个方法,如果抛出异常的话,那么 "记录到其它表" 这个动作就会跟着失败.好像这个触发器本身就是一个事务,但我用 commit ; 又不起什么作用.
    你试了吗?
      

  7.   

    触发器中应该是不加COMMIT,ROLLBACK的吧
      

  8.   

    To: sduzjw(幼儿园大班) 
    是的.