2016-03-03 105 views
1

我需要一个触发器,它将触发特定表上的任何插入或更新,并且插入或更新将替换新行的信用卡号码列到一些虚假的东西如“1111 1111 1111 1111”Oracle触发器更新同一个表中的列值

这是我制作的,但它似乎没有工作。

CREATE or REPLACE TRIGGER trigger_name AFTER INSERT ON table1 
FOR EACH ROW 

BEGIN 
update table1 set cc_number_field = '11'; 
END; 

我在Oracle 10上如果有问题。

回答

2

这是很容易操纵传入:NEW行以 “前” 触发:

CREATE OR REPLACE TRIGGER table1_cc_trigger 
BEFORE INSERT OR UPDATE ON table1 
FOR EACH ROW 
BEGIN 
    :NEW.cc_number_field := '1111 1111 1111 1111'; 
END; 
/
+0

Mureinik - 你打我吧 - 张贴,而我是组装我的答案! :-) – EdStevens

+0

像魔术一样工作!我尝试了同样的方法(使用NEW)并将其轰出。我想我的语法错了。 – user3547213

相关问题