通过检查在oracle中插入的字段的值来创建触发器

时间:2012-08-09 12:39:57

标签: oracle triggers

我需要在TABLE1上创建一个插入前触发器,以便将COL2中插入的新行COL3TABLE1插入TABLE2仅在TABLE1.FIELD1 = 'XYZ'时。如何执行此操作以便仅在满足条件时才触发触发器?

1 个答案:

答案 0 :(得分:1)

CREATE OR REPLACE TRIGGER my_trigger
   before insert 
   ON table_1
   FOR EACH ROW
BEGIN
  IF :NEW.FIELD1 = 'XYZ'
  then
    INSERT INTO table_2 (col1, col2) VALUES (:NEW.col1, :NEW.col2);
  END IF;
END;
/

或a_horse_with_no_name如何注明,您可以使用WHEN子句

CREATE OR REPLACE TRIGGER my_trigger
   before insert 
   ON table_1
   FOR EACH ROW
   WHEN (NEW.FIELD1 = 'XYZ') 
BEGIN

    INSERT INTO table_2 (col1, col2) VALUES (:NEW.col1, :NEW.col2);

END;
/