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