病因:trigger不能读写一张正在被该trigger触发的进行修改的表
药方:重写这个trigger

解决方案 »

  1.   


    ORA-04091 table string.string is mutating, trigger/function may not see itCause: A trigger (or a user defined PL/SQL function that is referenced in this statement) attempted to look at (or modify) a table that was in the middle of being modified by the statement which fired it.Action: Rewrite the trigger (or function) so it does not read that table.看清楚了吧!建议下次遇到错误,查找oracle的错误信息!!
      

  2.   

    将trigger涉及对表进行操作的语句写成存储过程,在触发器中调用该过程,试试看。
      

  3.   

    我后来用;old 可以解决读取原来的数据
    谢谢大家