create [or replace] trigger trigger_name
before | after
insert | delete | update [of column, ...]
on table_name | view_name
[referencing old as old | new as new]
[for each row]
[when condition]
trigger body;
这个是触发器的语法,我在尝试修改触发器的时候,为什么不能修改on table_name项呢,系统总是提示“触发器 'DUTY_TR' 已经在另一表上存在, 无法替换”。我的问题是:为什么修改触发器的时候不能修改触发器所依附的表呢?
请指点我一下,谢啦
before | after
insert | delete | update [of column, ...]
on table_name | view_name
[referencing old as old | new as new]
[for each row]
[when condition]
trigger body;
这个是触发器的语法,我在尝试修改触发器的时候,为什么不能修改on table_name项呢,系统总是提示“触发器 'DUTY_TR' 已经在另一表上存在, 无法替换”。我的问题是:为什么修改触发器的时候不能修改触发器所依附的表呢?
请指点我一下,谢啦
alter table add field_31(varchar2(18));
create trigger t1
after delete on emp
begin
dbms_output.put_line('ok!');
end;当我修改时,想把触发器从emp表改到dept表,其它项不变:create or replace trigger t1
after delete on dept
begin
dbms_output.put_line('ok!');
end;系统会报错“触发器 't1' 已经在另一表上存在, 无法替换”
这是为什么呢?为什么不能重新指定表呢?