ORA-04045:errors during recompilation/revalidation of HR.user_auto_in
其中HR.user_auto_in是HR模式下的触发器CREATE OR REPLACE TRIGGER "HR"."user_auto_in
" BEFORE INSERT ON "HR"."TB_USER_TACTIC" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW
BEGIN
 select "TB_USER_TACTIC_AUTOID".nextval into:new."tacticID" from dual;
END;
TB_USER_TACTIC_AUTOID是从100开始的序列
用insert 语句也不行,

解决方案 »

  1.   


    insert语句中sequence的使用方法
    --触发器写得有问题。
    create or replace tri_auto_in
    before insert on tb_user_tactic
    for each row
    begin
         select tb_user_tactic_autoid.nextval into :new.tacticID from dual;
    end;
    --直接添加
    insert into tb_user_tactic (tacticID,...)
    values(tb_user_tactic_autoid.nextval,...);
      

  2.   


    --禁用触发器
    alter triger user_auto_in disable;
    --启动触发器
    alter triger user_auto_in enable;