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 ;