为什么会出现下面的问题啊
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 /触发器已创建
解决方案 »
- 求oracle增量备份的方法
- 数据库每天凌晨0点自动备份,到早上8点数据库夸了,那0点到8点的数据就恢复不了了吧?
- 急!!!ORACLE中怎样将一个表映射到内存中??在线等待
- 求cnoug邀请码
- 如果C,D,E三个字段同时为0,则不显示这条数据,我应该如何写这条SQL语句
- 关于嵌套表的用法(通过50分)
- 有没有像SQL SERVER里的跟踪器跟踪用户向数据库操作呢
- oracle占用了99%-100%的CPU,怎样分析原因?
- 超复杂的问题
- Oracle8.1.7本地可以SYS以NORMAL身份登录,但是不能用SYSDBA登录,怎么办???
- oracle高手请进!!!高手
- 【100分】同一行显示 主表主键和子表主键(子表主键有多个)
before insert or update or delete
on ABC for each row
delcare l_action varchar2(30);
begin
....
end;
/
第二个触发器少了参数定义
delcare
l_action varchar2(30);原因就在这里啊!