ORA-04098: 触发器无效且未通过重新验证

来源:互联网 发布:淘宝买东西售后不管 编辑:程序博客网 时间:2024/05/26 12:04

问题 

    1、创建序列

create   sequence   T1ID_SEQ  
         minvalue   1  
         maxvalue   999999  
          start   with   1  
          increment   by   1  
          cache   20  
           ;  
       select T1ID_SEQ.nextval from dual;

   2、创建触发器

 

 

    create   or   replace   trigger   t1id_tr  
          before   insert   on   t_cms_article   for   each   row              
          begin  
              select   to_char(T1ID_SEQ.nextval)   into   :new.id  from   dual;  
          end   t1id_tr;  

 

//insert   时 有new,update 有old,new ,delete 有old

 

  3、执行insert  into   t_cms_article...select   from 时

 

ORA-04098: 触发器无效且未通过重新验证

 

解决办法:

 

   创建触发器有误,虽然开始成功执行了。

 

 

 create   or   replace   trigger   t1id_tr  
          before   insert   on   t_cms_article   for   each   row              
          begin  
              select   to_char(T1ID_SEQ.nextval)   into   :new.id_   from   dual;  
          end   t1id_tr;  

t_cms_article 对应insert 的表 ,  :new.id_  其中id_为 t_cms_article的一个列

原创粉丝点击