2013-12-12 66 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 –