0
我需要在TABLE1
INSERT觸發器之前創建一個這樣它插入COL2
和新行的COL3
被插入到TABLE1
僅TABLE2
時TABLE1.FIELD1 = 'XYZ'
。我該如何做到這一點,只有當條件滿足時觸發器纔會被觸發?通過檢查字段的值創建觸發器被插入在ORALCE
我需要在TABLE1
INSERT觸發器之前創建一個這樣它插入COL2
和新行的COL3
被插入到TABLE1
僅TABLE2
時TABLE1.FIELD1 = 'XYZ'
。我該如何做到這一點,只有當條件滿足時觸發器纔會被觸發?通過檢查字段的值創建觸發器被插入在ORALCE
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;
/
您可以將該IF條件移至觸發器定義,以便在該列未包含該值時觸發器甚至不會被觸發。 – 2012-08-09 12:54:13
第一次嘗試這個文檔http://www.techonthenet.com/oracle/triggers/before_insert.php和提高關心你是否仍然無法完成。 – sundar 2012-08-09 12:44:03
是否在TABLE1上插入的行被引用爲:NEW?準確地說是 – chemicalkt 2012-08-09 12:46:05
。你是對的。 – sundar 2012-08-09 12:46:51