我對Oracle PL/SQL相當陌生,所以我不確定是否可以這樣做:Oracle Pl/SQL:在Table1上插入後觸發,爲Table2調用函數?
兩個表 - T1和T2 - T1.id是外鍵引用T2.id,每個表都有一個序列; 我寫了一個函數,當它被調用時允許用戶在T1中插入新行 - 將其稱爲func1,對於T2-func2也是如此; 也是一個函數,讓我們在表中最後插入的序列 - getLastSeq(table);
所以,現在我試圖創建觸發器後T2插入調用FUNC1,允許用戶寫入輸入信息。 COL1不是一個壞的綁定VAR:
CREATE OR REPLACE TRIGGER trig1
AFTER INSERT ON T2
DECLARE
-----?----
BEGIN
----?----
dbms_output.put_line(func1(:col1, :col2));
----?----?
END;
但所有我可能試圖與有關錯誤做模具等。
我會盡力解釋:我有兩張表。當我在其中一個表中插入新信息時,使用過程,我需要使用另一個過程將信息插入另一個表中。例如 - 我們插入一個新的訂單,並且在我插入了關於它的數據之後,我需要插入另一個表中保存的其他信息,這些信息也從其他表中獲取信息。 關於用戶輸入(我沒有正確說出這個),我的意思是用綁定變量調用過程。 – Izumi
@Izumi - 通常,如果您要將數據插入到第二個表中,則只需在該過程中執行兩次「INSERT」調用即可。 –
通常 - 是的,我只是試圖想出一些更有趣的觸發器,這就是爲什麼我認爲有兩個過程,並且在其中一個過程完成之後,它會激活一個調用其他過程的觸發器。 – Izumi