oracle update某个值前触发器

例如:程序要将aa表的bb字段的某一行的值更新为1,触发器将1改为2,将bb字段的值更新为2
如果程序要更新为3,则不触发

CREATE OR REPLACE TRIGGER aa_trigger
BEFORE UPDATE OF bb
ON aa
REFERENCING NEW AS new_val OLD AS old_val --在这里设置名字,然后可引用新值,旧值.如果不指定默认值为new ,old.可以通过:new或:old去引用
FOR EACH ROW
DECLARE
BEGIN
if new_val = 1 then
update table aa set bb = 2 where ...;
END;

 CREATE OR REPLACE TRIGGER update_aa_trigger  

AFTER UPDATE ON aa  

REFERENCING NEW AS NEW OLD AS OLD  

FOR EACH ROW  

WHEN( NEW.bb = 2)  

DECLARE  


BEGIN  
       UPDATE aa set bb = '2' WHERE id = 'id';    
END;