为什么会出现下面的问题啊
SQL> create or replace trigger record_ABC
2 before insert or update or delete
3 on ABC
4 delcare
5 l_action varchar2(30);
6 begin
7 if INSERTING then
8 l_action :='INSERT';
9 elsif UPDATING then
10 l_action :='UPDATE';
11 elsif DELETING then
12 l_action :='DELETE';
13 end if;
14 insert into ABC_log(uname,uaction)
15 values(user,l_action);
16 end record_ABC;
17 /
delcare
*
第 4 行出现错误:
ORA-04079: 无效的触发器说明
改成这样就没有错了 好像这两个是一样的啊SQL> create or replace trigger record_ABC
2 before insert or update or delete
3 on ABC
4 begin
5 if INSERTING then
6 insert into ABC_log(uname,uaction)
7 values(user,'INSERT');
8 elsif UPDATING then
9 insert into ABC_log(uname,uaction)
10 values(user,'UPDATE');
11 elsif DELETING then
12 insert into ABC_log(uname,uaction)
13 values(user,'DELETE');
14 end if;
15 end record_ABC;
16 /触发器已创建
before insert or update or delete
on ABC for each row
delcare l_action varchar2(30);
begin
....
end;
/
第二个触发器少了参数定义
delcare
l_action varchar2(30);原因就在这里啊!