2014-03-28 121 views
0

我有2代表這是my_schoolmy_classOracle觸發器插入其他表

和「my_school」表中有「info_id」一欄,也有「my_class」表中有「info_id」,那麼我想,可以自動獲得一個查詢產生 「info_id」 後來我發現解決方案..

這裏是 「my_school」 表我的工作TRIGGER ...


CREATE OR REPLACE TRIGGER info_id 

before insert on my_direction 

for each row 

begin 

if :NEW.WAY_ID is null then 

:NEW.WAY_ID := example_id_seq.nextval; 

end if; 

end; 

它的作品,它插入值時生成自動ID。 但是現在如何獲得這個觸發器,當用戶在my_school的表上插入值時,在my_class表上執行此操作,然後同時將「my_class」表的「info_id」列的id與id相關聯?

+0

這是在my_direction表上觸發而不在my_school上。 – San

回答

1

您可以在my_school表上創建觸發器以更新info_id類似於您已經解釋過的內容,並在插入記錄時使用返回的子句。

聲明一個變量來存儲返回的值,例如

v_info_id number(9); 

,並在你的程序中插入的info_id值插入到另一表返回到第

insert into my_school(column.......list) 
values (values........list) 
RETURNING info_id INTO v_info_id; 

使用v_info_id使用它。