oracle触发器错误。表发生了变化,触发器不能读它
把触发器代码贴上,请问下以下写法哪里出的问题呢?
CREATE OR REPLACE TRIGGER MAP_UPDATE_ALARM
BEFORE UPDATE OF TS_ID,MAPPING_RULE ON FEATURE_MAP
FOR EACH ROW
DECLARE
V1 FEATURE_MAP.TS_ID%TYPE;
V2 FEATURE_MAP.MAPPING_RULE%TYPE;
V3 FEATURE_MAP.MAPPING_RULE%TYPE;
PRO_NAME VARCHAR2(50);
BEGIN
SELECT :OLD.TS_ID,:OLD.MAPPING_RULE,:NEW.MAPPING_RULE
INTO V1,V2,V3
FROM FEATURE_MAP;
SELECT B.OBJECT_NAME
INTO PRO_NAME
FROM TRANS_STEP A,USER_OBJECTS B
WHERE A.OBJECT_ID=B.OBJECT_ID AND B.OBJECT_TYPE='PROCEDURE' AND A.TS_ID=V1;
INSERT INTO MODI_METADATA_ALARM_INFO
(before_update_info,after_update_info,to_be_modified_pro,modified_flag,update_time,update_user)
VALUES(V2,V3,PRO_NAME,'是',SYSDATE,USER);
END;