获取触发Oracle触发器的值

时间:2012-01-11 21:13:30

标签: oracle plsql triggers

对Oracle触发器来说非常新。假设我在表emp中的插入上有一个触发器。有没有办法找出触发触发器的插入记录是什么。如果插入的记录是特定值,我希望触发器具有执行某些操作的代码。

2 个答案:

答案 0 :(得分:10)

假设您有行级触发器,您只需使用:NEW伪记录

CREATE TRIGGER name_of_trigger
  BEFORE INSERT ON emp
  FOR EACH ROW
DECLARE
  <<declare variables>>
BEGIN
  IF( :new.ename = 'JUSTIN' )
  THEN
    <<do something if the newly inserted ENAME value is 'JUSTIN'>>
  END IF;
END;

对于DDL触发器,方法完全不同。在这种情况下,伪功能ora_dict_obj_owner和ora_dict_obj_name将返回DDL语句正在操作的表的所有者和名称。

答案 1 :(得分:7)