触发器自治事务问题
触发器现在编译已经通过了,但是在UPDATE AC30表AAE008字段的时候,触发下面的触发器,没有执行通过。
提示错误:deadlock detected while waiting for resource。等待资源的过程中发生死锁,想想也是啊,对于自治事务了解不深,高手帮忙看看如何处理啊。对操作自身表的时候触发器有没有其他的实现方式?
CREATE OR REPLACE TRIGGER trig_ac30_AAE008
AFTER insert or update of AAE008
ON AC30
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
if (:NEW.AAE008 <> :OLD.AAE008) then
UPDATE ac30
SET AAE008 = :NEW.AAE008, aae010 = :NEW.aae010
WHERE AAC001 = :NEW.AAC001
AND AAE140 = '32';
COMMIT;
end if;
END;