对Oracle触发器来说非常新.假设我在表emp中的插入上有一个触发器.有没有办法找出触发触发器的插入记录是什么.如果插入的记录是特定值,我希望触发器具有执行某些操作的代码.
假设您有一个行级触发器,您可以简单地使用: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语句正在操作的表的所有者和名称.