今天在写一个触发器时遇到一个死锁问题,但不知道问题出在哪儿,这个触发器主要是用处是在T_BS_ORDERDETAIL表做增删改操作时给主表T_BS_ORDERINFO重新合计重量体积及数量
CREATE OR REPLACE TRIGGER TRIGGER_ORDERDETAIL
AFTER DELETE OR INSERT OR UPDATE ON T_BS_ORDERDETAIL FOR EACH ROWDECLARE
PRAGMA AUTONOMOUS_TRANSACTION;BEGIN
UPDATE T_BS_ORDERINFO A SET A.N_ZL =
(SELECT SUM(B.N_ZL) FROM T_BS_ORDERDETAIL B WHERE B.I_ID_ORDER = :NEW.I_ID_ORDER),
A.N_TJ =
(SELECT SUM(B.N_TJ) FROM T_BS_ORDERDETAIL B WHERE B.I_ID_ORDER = :NEW.I_ID_ORDER),
A.I_ALLCOUNT =
(SELECT SUM(B.I_COUNT) FROM T_BS_ORDERDETAIL B WHERE B.I_ID_ORDER = :NEW.I_ID_ORDER) WHERE A.ID = :NEW.I_ID_ORDER; COMMIT;END;
新增时没报错,但修改时就报以下错误