★ 高分求解:触发器问题. ★
创建触发器:
CREATE OR REPLACE TRIGGER bearing_state_update_trig
AFTER UPDATE OF state ON res_bearing
REFERENCING NEW AS new_res_bearing OLD AS old_res_bearing
FOR EACH ROW
BEGIN
IF ( :new_res_bearing.state = 99 ) THEN -- 轴承报废
UPDATE res_bearing
SET res_bearing.state = 99,
res_bearing.scrap_date = sysdate
WHERE res_bearing.bearing_id = :new_res_bearing.bearing_id;
END IF;
END;
/
触发器已创建。
UPDATE res_bearing SET state=99 where bearing_id='121-002';
执行SQL语句报错如下!
ORA-04091: 表 SYSTEM.RES_BEARING ·发生变化触发器/函数不能读。
ORA-06512: 在"SYSTEM.BEARING_STATE_UPDATE_TRIG", line 4
ORA-04088: 触发器 'SYSTEM.BEARING_STATE_UPDATE_TRIG' 执行过程中出错
解决马上结帖!