首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

触发器不得不用一次,就报ORA-04098

2012-09-13 
触发器只能用一次,就报ORA-04098表格SQL codeid varchar(100),username varchar(100),password varchar(10

触发器只能用一次,就报ORA-04098
表格

SQL code
id varchar(100),username varchar(100),password varchar(100),isAdmin varchar(1),


序列
SQL code
CREATE SEQUENCE seq_sys_userlist start with 100increment by 1MINVALUE 1MAXVALUE 9999;


触发器
SQL code
create or replace trigger tri_sys_userlist       before insert on t_sys_userlist       for each row       begin       select 'u'||lpad(seq_sys_userlist.nextval,4,'0') into :new.id from dual;      end ;  


执行
SQL code
insert into t_sys_userlist (username,userpassword,isadmin) values('amy','c8837b23ff8aaa8a2dde915473ce0991','0');commit;

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

[解决办法]
SQL code
--改成这样子,重新译下,应该就可以了:new.id := 'u'||lpad(seq_sys_userlist.nextval,4,'0'); 

热点排行