2017-10-13 333 views
0

是否可以在一个触发器中有多个表?假设我有员工,技能和客户表,并且我有Eventlogs表来捕获审计。我试图添加Skill_T,但是我得到了ORA-04079错误。任何更正?谢谢!错误ORA-04079:无效的触发器规格

注:我使用的Oracle SQL Developer Oracle11gEE

CREATE OR REPLACE TRIGGER AUDIT_REC 
AFTER INSERT OR DELETE OR UPDATE ON EMPLOYEE_T, SKILL_T 
FOR EACH ROW 
DECLARE 
    V_LOGID NUMBER; 
    V_USER VARCHAR(30); 
    V_DATE VARCHAR(30); 

BEGIN 
    SELECT EVENTLOG_ID_SEQ.NEXTVAL, USER, SYSDATE INTO V_LOGID, V_USER, V_DATE FROM DUAL; 
    IF INSERTING THEN 
    INSERT INTO EVENTLOGS(Eventlog_id, User_name, Date_done, Action_done) 
    VALUES (V_LOGID, V_USER, V_DATE, 'INSERT'); 
    ELSIF DELETING THEN 
    INSERT INTO EVENTLOGS(Eventlog_id, User_name, Date_done, Action_done) 
    VALUES (V_LOGID, V_USER, V_DATE, 'DELETE'); 
    ELSIF UPDATING THEN 
    INSERT INTO EVENTLOGS(Eventlog_id, User_name, Date_done, Action_done) 
    VALUES (V_LOGID, V_USER, V_DATE, 'UPDATE'); 
    END IF; 
END; 
/

回答