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