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

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

2012-12-20 
ORA-04098:触发器无效且未通过重新验证create table testcb (t_id number(4), t_name varchar2(20), t_age

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


create table testcb (t_id number(4), t_name varchar2(20), t_age number(2), t_sex char);
create table testcb_log( l_user varchar2(15), l_type varchar2(15), l_date varchar2(30));

create or replace trigger testcb_trigger
after delete or insert or update on testcb
declare v_type testcb_log.l_type%TYPE;
begin
if inserting then
--insert触发
v_type:='insert';
dbms_output.put_line('记录已经成功插入,并已记录到日志');
elsif updating then
--update触发
v_type:='update';
dbms_output.put_line('记录已经成功更新,并已记录到日志');
elsif deleting then 
v_type:='delete';
dbms_output.put_line('记录已经成功删除,并已记录到日志');
end if;
insert into testcb_log values(user, v_tpye, to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'));
end;


创建触发器成功,没什么问题。
但是执行insert触发的时候:
insert into testcb values(101,'chenbing',24,'M');
报了“ORA-04098:触发器无效且未通过重新验证”错误!

本人oracle菜鸟!请大神协助排查问题!万分感激!
[最优解释]

insert into testcb_log values(user, v_tpye, to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'));

--v_type 不是 v_tpye

[其他解释]
汗!!!!

执行创建的语句居然不报错!!

[其他解释]
书写错误是很平常的,以后书写细心点就行了。

热点排行
Bad Request.