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

问题 

    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的一个列

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值