2013-12-12 90 views
0

我需要爲我的webApp創建一個在Oracle上執行存儲過程的觸發器。但我對Oracle非常陌生,而且我仍然掌握着這一點。我可以用一個簡單的觸發器來自動增加表中的值,但就是這樣。Oracle觸發器和存儲過程

在這個特定主題上是否有很好的教程和例子?我試着在這裏搜索,但我只找到一個非常通用的問題:How can i learn Stored Procedure and Trigger?。但我可以更具體一些:我需要這個觸發器來運行一個存儲過程,爲我的用戶生成一個新的代碼,向這個代碼添加數據。該過程完成後,我只是不知道如何在觸發器中使用它,傳遞參數以及如何從Oracle觸發器本身插入/更新值。

幫助將不勝感激。

回答

2

假設你的函數生成的代碼被命名爲f_generate_code(),你的表名爲foobar,應填充該列名code你會做這樣的:

create or replace trigger trg_update_code 
    before insert or update on foobar 
    for each row 
begin 
    :new.code := f_generate_code(); 
end; 
/
+0

好的。你碰巧知道我可以從哪裏獲得關於該主題的更多信息? – Malavos

+0

@HugoRocha:手冊是一個很好的開始:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/toc.htm和http://docs.oracle.com/cd/E11882_01/appdev 0.112/e10766/toc.htm –