16:38:45 Error: ORA-04091: 表 SCOTT.TEST 发生了变化, 触发器/函数不能读它
ORA-06512: 在 "SCOTT.TEST_TRIGGER", line 9
ORA-04088: 触发器 'SCOTT.TEST_TRIGGER' 执行过程中出错
ORA-06512: 在 line 2
这是什么情况下的发生的错误?

解决方案 »

  1.   

    你这个错误不是在创建触发器时报的,是执行时的错误。oracle的行级触发器中不能再访问触发器所在的表。如在表AAA上建了个触发器,那么触发器中不能有诸如select ... into ... from AAA ...,或者update AAA set ...之类的语句。
      

  2.   

    为什么我在使用:NEW.字段名创建Trigger时Toad会弹出一个对话框让你输入value,并且还会报错:ORA-01036: 非法的变量名/编号,这是怎么回事呢?另外Trigger中:new和new好像都能用,有什么区别呢?