比如开始创建一个emp表的触发器:
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' 已经在另一表上存在, 无法替换”
这是为什么呢?为什么不能重新指定表呢?
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' 已经在另一表上存在, 无法替换”
这是为什么呢?为什么不能重新指定表呢?
--改一下:create or replace trigger t2
after delete on dept
begin
dbms_output.put_line('ok!');
end;
比如一个存储过程,你修改它内容的时候就用or replace,表示修改,可以修改过程中的所有内容。要是再创建一个,当然就不用replace了。
我现在这个问题也是一样的啊,我就是要修改一个触发器,我当然知道换个名字全ok,我就是要修改这个触发器,让他关联别的表,我的问题就是,为什么不能让一个触发器换一个关联的表?