連續創建多個Oracle觸發器失敗,單個創建才成功的解決方法

1、當我連續執行創建多個觸發器時,總是報編譯通過,但存在警告或錯誤。如下:

create or replace trigger tr_advert  
before insert on jcms_advert 
for each row
begin
 select seq_advert.nextval into :new.id from dual;
end;

create or replace trigger tr_advert_type  
before insert on jcms_advert_type 
for each row
begin
 select seq_advert_type.nextval into :new.id from dual;
end;
這種創建是失敗的,因爲觸發器需要先編譯,每創建一個觸發器,需要以“/”結束,然後才能執行下一個。

2、正確的創建方法如下:

create or replace trigger tr_advert  
before insert on jcms_advert 
for each row
begin
 select seq_advert.nextval into :new.id from dual;
end;
/
alter trigger tr_advert enable;

create or replace trigger tr_advert_type  
before insert on jcms_advert_type 
for each row
begin
 select seq_advert_type.nextval into :new.id from dual;
end;
/
alter trigger tr_advert_type enable;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章