SQL> create or replace trigger a_trigger after
2 insert or update or delete
3 on A
4 for each row
5 declare
6 l_action char(1);
7 begin
8 if :new.aid <> :old.aid
9 then
10 dbms_output.put_line('error');
11 end if;
12 if inserting
13 then
14 l_action :='I';
15 elsif updating
16 then
17 l_action :='U';
18 elsif deleting
19 then
20 l_action :='D';
21 end if;
22 insert into AT values(:new.aid,l_action, sysdate,user,:new.f,:old.f,:old.isbn,:new.f,:new.isbn)
;
23 end;
24 /警告: 创建的触发器带有编译错误。SQL> show error
TRIGGER A_TRIGGER 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
18/1 PL/SQL: SQL Statement ignored
18/13 PL/SQL: ORA-00913: 值过多
请大侠帮忙,谢谢了,
2 insert or update or delete
3 on A
4 for each row
5 declare
6 l_action char(1);
7 begin
8 if :new.aid <> :old.aid
9 then
10 dbms_output.put_line('error');
11 end if;
12 if inserting
13 then
14 l_action :='I';
15 elsif updating
16 then
17 l_action :='U';
18 elsif deleting
19 then
20 l_action :='D';
21 end if;
22 insert into AT values(:new.aid,l_action, sysdate,user,:new.f,:old.f,:old.isbn,:new.f,:new.isbn)
;
23 end;
24 /警告: 创建的触发器带有编译错误。SQL> show error
TRIGGER A_TRIGGER 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
18/1 PL/SQL: SQL Statement ignored
18/13 PL/SQL: ORA-00913: 值过多
请大侠帮忙,谢谢了,
我感觉是你的这句话insert into AT values(:new.aid,l_action, sysdate,user,:new.f,:old.f,:old.isbn,:new.f,:new.isbn)
有问题
AT表中有几列啊 是不是字段没对应上?
还有 不建议用 insert into table values()这种形式
最好把字段列出来 insert into table (col)values(colvalue)