Linux初探欢迎您的投稿,投放方法请点击
这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
在写trigger的时候,经常会遇到这种情况当在程序块中需要对trigger本表进行修改或查询的时候,系统会提示错误:ORA-04091: table is mutating, trigger/function ma......
ORA-06512: 在 "TEST.TR_T", line 4 ORA-04088: 触发器 'TEST.TR_T'
执行过程中出错
SQL> SELECT ID,MC,TO_CHAR(DT,'YYYYMMDD HH24:MI:SS') FROM
T;
ID MC TO_CHAR(DT,'YYYYM ----------
-------------------- ----------------- 1 111111
20080802 11:07:36 2 222222 20080802
11:07:43
SQL> CREATE OR REPLACE TRIGGER TR_T 2 AFTER DELETE ON
T 3 FOR EACH ROW 4 DECLARE V_COUNT NUMBER; 5 PRAGMA
AUTONOMOUS_TRANSACTION; 6 BEGIN 7 INSERT INTO T
VALUES(:OLD.ID,:OLD.MC,SYSDATE); 8 COMMIT; 9 END
TR_DEL_CABLE; 10 /
触发器已创建
SQL> DELETE FROM T WHERE
ID=1;
已删除 1 行。
SQL> COMMIT;
提交完成。
SQL> SELECT
ID,MC,TO_CHAR(DT,'YYYYMMDD HH24:MI:SS') FROM T;
ID MC
TO_CHAR(DT,'YYYYM ---------- --------------------
----------------- 2 222222 20080802 11:07:43
1 111111 20080802 11:08:32
2/2 首页 上一页 1 2 |