ORA-04098: 触发器无效且未通过重新验证
今天在编写代码做新增操作时遇到此问题,记录问题解决过程
Hibernate: insert into dept (code, dpid, fullcode, fullname, name, pid, sourceid, ver, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?)
===2019-11-12 16:41:00.713 WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper Line:137 - SQL Error: 4098, SQLState: 42000
===2019-11-12 16:41:00.714 ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper Line:142 - ORA-04098: 触发器 'FACETEST.TRG_AIFACE_DEPT_VER' 无效且未通过重新验证
这明显跟触发器有关,于是检查这个表的触发器是否有语法上的问题,结果发现触发器只是单纯调用了一下序列,于是把要执行的序列调用语句拎出来执行了一下
SELECT SEQ_DEPT_VER.NEXTVAL FROM DUAL;
提示序列不存在,原来是创建序列时名称写错误了。
CREATE SEQUENCE "SEQ_DEPT" MINVALUE 0 MAXVALUE 99999999999 INCREMENT BY 1 START WITH 6 NOCACHE NOORDER NOCYCLE ;