Oracle ORA-04098:触发器“triggername”无效,重新验证失败
您好,我已经创建了一个触发器,如下所示,但它给出了以下错误:Oracle ORA-04098:触发器“triggername”无效,重新验证失败,oracle,plsql,triggers,Oracle,Plsql,Triggers,您好,我已经创建了一个触发器,如下所示,但它给出了以下错误: ORA-04098: trigger 'APPS.EMP_delete' is invalid and failed re-validation 我的代码: CREATE OR REPLACE TRIGGER emp_delete AFTER DELETE ON EMP FOR EACH ROW BEGIN INSERT INTO history_emp (EMPLOYEE_ID, SALARY, JOB_ID,
ORA-04098: trigger 'APPS.EMP_delete' is invalid and failed re-validation
我的代码:
CREATE OR REPLACE TRIGGER emp_delete
AFTER DELETE
ON EMP
FOR EACH ROW
BEGIN
INSERT INTO history_emp (EMPLOYEE_ID, SALARY, JOB_ID, HIRE_DATE, DEPARTMENT_ID, FIRST_NAME, last_name, DELETED_BY, DELETION_DATE)
VALUES
(:OLD.EMPLOYEE_ID,
:OLD.SALARY,
:OLD.JOB_ID,
:OLD.HIRE_DATE,
:OLD.DEPARTMENT_ID,
:OLD.FIRST_NAME,
:OLD.LAST_NAME,
USER,
SYSDATE);
DELETE FROM BACKUP_EMP WHERE EMPLOYEE_ID = :OLD.EMPLOYEE_ID;
END;
如何修复此错误?这意味着您在“APPS.EMP\u delete”触发器中有一些错误,无法自动重新激活。你需要检查你的扳机是否有任何问题。
例:历史记录中所有列的名称是否正确?创建触发器时会出现什么错误?或者在查询用户错误时?执行以下操作并将结果粘贴到问题b编辑中。从user_errors中选择*type='TRIGGER',name='EMP_DELETE';